文本左右对齐(字符串、模拟) 给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。 要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格
单词拆分(字典树、记忆化搜索) 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code&qu
反转链表(递归、链表) 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 输入:head = [1,2] 输出:[2,1] 输入:head = [] 输出:[] 示例 1: 示例 2: 示例 3: 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <=
地下城游戏(数组、动态规划)一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由MxN个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至0或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为_负整数_,则表示骑士将损失健康
数组排序(图算法、算法高阶)编写一个JavaApplication程序,将随机生成的无序数组使用冒泡排序,将这个混乱的数组变成一个从小到大排列的有序的数组并输出。javaclassdemo_sort{publicstaticvoidmain(Stringargs){intnumbers=newint{1,5,8,2,3,9,4};for(inti=0;i<numbers.length1;i){fo
Function:函数(方法)对象创建:1.varfun=newFunction(形式参数列表,方法体);//忘掉吧1.function方法名称(形式参数列表){方法体}3.var方法名=function(形式参数列表){方法体}方法:属性:length:代表形参的个数特点:1.方法定义是,形参的类型不用写,返回值类型也不写。1.方法是一个对象,如果定义名称相同的方法,会覆盖1.在JS中,方法的调
概念和功能JavaScript一门客户端脚本语言运行在客户端浏览器中的。每一个浏览器都有JavaScript的解析引擎脚本语言:不需要编译,直接就可以被浏览器解析执行了功能:可以来增强用户和html页面的交互过程,可以来控制html元素,让页面有一些动态的效果,增强用户的体验。JavaScript发展史1.1992年,Nombase公司,开发出第一门客户端脚本语言,专门用于表单的校验。命名为:C,
@toc(HTML概念和相关标签指南)web概念概述JavaWeb使用Java语言开发基于互联网的项目软件架构C/S:Client/Server客户端/服务器端在用户本地有一个客户端程序,在远程有一个服务器端程序,如:QQ,迅雷...优点:1.用户体验好缺点:1.开发、安装,部署,维护麻烦B/S:Browser/Server浏览器/服务器端只需要一个浏览器,用户通过不同的网址(URL),客户访问不
无重复字符的最长子串(哈希表、字符串)给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示例3:输入:s="pwwkew"输出:3解释:因为无重复字符的最长子串是 "wke",所以其长度为
只出现一次的数字(位运算、数组)给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?示例1:输入:2,2,1输出:1示例2:输入:4,1,2,1,2输出:4解答:javaclassSolution{publicintsingleNumber(intnums){intres=0;fo
搜索旋转排序数组(数组、二分查找)整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为numsk,numsk+1,...,numsn1,nums0,nums1,...,numsk1(下标从0开始计数)。例如,0,1,2,4,5,6,7在下标3处经旋转后可能变为4,5,6,7,0,1,2。给你旋转
Excel表列序号(数学、字符串)给你一个字符串columnTitle,表示Excel表格中的列名称。返回该列名称对应的列序号。例如,A1B2C3...Z26AA27AB28...示例1:输入:columnTitle="A"输出:1示例2:输入:columnTitle="AB"输出:28示例3:输入:columnTitle="ZY"输出:701示例4:输入:columnTitle="FXSHRXW
Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发步骤1.导入jar包xml<dependency<groupIdorg.springframework.boot</groupId<artifactIdspringbootstarterjdbc</artifactId</dependency2.创建JdbcTemplate对象。依赖于数据源DataSou
概念数据库连接池其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。好处1.节约资源2.用户访问高效实现标准接口:DataSource javax.sql包下的方法:获取连接:getConnection()归还连接:Connection.close()。如果连接对
二叉树的锯齿形层序遍历(树、广度优先搜索)给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树3,9,20,null,null,15,7,3/\920/\157返回锯齿形层序遍历如下:3,20,9,15,7解答:javapublicclassTreeNode{intval;TreeNodeleft;TreeNode
戳气球(数组、动态规划)有n个气球,编号为0到n1,每个气球上都标有一个数字,这些数字存在数组nums中。现在要求你戳破所有的气球。戳破第i个气球,你可以获得numsi1numsinumsi+1枚硬币。这里的i1和i+1代表和i相邻的两个气球的序号。如果i1或i+1超出了数组的边界,那么就当它是一个数字为1的气球。求所能获得硬币的最大数量。示例1:输入:nums=3,1,5,8输出:167解释:n
插入区间给你一个无重叠的,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例1:输入:intervals=1,3,6,9,newInterval=2,5输出:1,5,6,9示例2:输入:intervals=1,2,3,5,6,7,8,10,12,16,newInterval=4,8输出:1,2,3,10,12,16
求素数求1100内的素数:javapublicstaticvoidmain(Stringargs){for(inti=0;i<100;i){checkPrime(i);}}privatestaticvoidcheckPrime(intx){booleanisPrime=true;if(x1x%20&&x!=2){isPrime=false;}else{for(inti=3;i<Math.sqrt(
@toc四数之和给定一个包含_n_个整数的数组nums和一个目标值target,判断nums中是否存在四个元素_a,b,c_和_d_,使得_a_+_b_+_c_+_d_的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例1:输入:nums=1,0,1,0,2,2,target=0输出:2,1,1,2,2,0,0,2,1,0,0,1示例2:输入:nums
事务一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。操作1.开启事务2.提交事务3.回滚事务使用Connection对象来管理事务开启事务:setAutoCommit(booleanautoCommit):调用该方法设置参数为false,即开启事务在执行sql之前开启事务提交事务:commit()当所有sql都执行完提交事务回滚事务:rollback
抽取JDBC工具类:JDBCUtils目的:简化书写分析1.注册驱动也抽取2.抽取一个方法获取连接对象需求:不想传递参数(麻烦),还得保证工具类的通用性。解决:配置文件jdbc.propertiespropertiesurl=user=password=3.抽取一个方法释放资源代码实现javapublicclassJDBCUtils{privatestaticStringurl;privatest
回文数给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。示例1:输入:x=121输出:true示例2:输入:x=121输出:false解释:从左向右读,为121。从右向左读,为121。因此它不是一个回文数。示例3:输入:x=10输出:false解释:从右向左读,为01。因此它不是
概念JavaDataBaseConnectivity Java数据库连接,Java语言操作数据库JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。快速入门步骤1.导入驱动jar包xml<!MySQL数据库驱动<dependency<g
分割链表给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有小于x的节点都出现在大于或等于x的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例1:!(https://s2.51cto.com/images/blog/202302/08104449_63e30ca16e4f736655.jpg?xossprocess=image/watermark,size_14,te
@tocO(1)时间插入、删除和获取随机元素设计一个支持在_平均_时间复杂度O(1)下,执行以下操作的数据结构。注意:允许出现重复元素。1.insert(val):向集合中插入元素val。2.remove(val):当val存在时,从集合中移除一个val。3.getRandom:从现有集合中随机获取一个元素。每个元素被返回的概率应该与其在集合中的数量呈线性相关。示例:java//初始化一个空的集合
移除元素给你一个数组nums__和一个值val,你需要原地(https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95)移除所有数值等于val__的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回
单词接龙字典wordList中从单词beginWord__和endWord的转换序列是一个按下述规格形成的序列:序列中第一个单词是beginWord。序列中最后一个单词是endWord。每次转换只能改变一个字母。转换过程中的中间单词必须是字典wordList中的单词。给你两个单词__beginWord__和endWord和一个字典wordList,找到从beginWord到endWord的最短转换
@toc(Java反射:框架设计的灵魂)框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。反射就是把Java类中的各个成员映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。这种动态获取信息及动态调用对象方法的功能叫Java的反射机制。好处:1.可以在程序运行过程中,操作这些对象。1.可以解耦,提
@toc(Junit单元测试)概念测试分类:黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。白盒测试:需要写代码的。关注程序具体的执行流程。JUnit是一个Java编程语言的单元测试框架。JUnit在测试驱动的开发方面有很重要的发展,是起源于JUnit的一个统称为xUnit的单元测试框架之一。使用引入坐标xml<dependency<groupIdjunit</groupId<art
@toc概述TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。两端通信时步骤:1.服务端程序,需要事先启动,等待客户端的连接。1.客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。在Java中,提供了两个类用于实现TCP通信程序:1.客户端:java.net.Socket类表示。创建Socket对象,向服务端发出连
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号