java
flamingobaby
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用二分法--比较有趣的几道题
1011. 在 D 天内送达包裹的能力 传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。 传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。 返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。 示例 1: 输入:weights = [1,2,3,4,5,6,7,8,9,10], D = 5 输出:15 解释: 船舶最低载重 15 就能够在 5 天内送达所有包裹,如下所示: 第 1原创 2020-10-16 10:38:47 · 986 阅读 · 0 评论 -
LeetCode:41.缺失的第一个正数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例1: 输入: [1,2,0] 输出: 3 示例2: 输入: [3,4,-1,1] 输出: 2 示例3: 输入: [7,8,9,11,12] 输出: 1 class Solution { public int firstMissingPositive(int[] nums) { ...原创 2019-04-22 09:32:15 · 196 阅读 · 0 评论 -
LeetCode26:26. 删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改1,2 你不需要考虑数组中超出新长度后面的元素。 示例2: 给定 ...原创 2019-04-17 11:57:45 · 204 阅读 · 0 评论 -
LeetCode:42.接雨水
给定n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。感谢 Marcos 贡献此图。 示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出: 6 class Solution ...原创 2019-04-22 10:02:00 · 342 阅读 · 0 评论 -
LeetCode:43. 字符串相乘
给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明: num1和num2的长度小于110。 num1 和num...原创 2019-04-22 11:36:37 · 268 阅读 · 0 评论 -
LeetCode:27. 移除元素
给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前...原创 2019-04-17 14:32:37 · 199 阅读 · 0 评论 -
LeetCode:17. 电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 感谢评论里有个同学给我了...原创 2019-04-15 10:13:10 · 263 阅读 · 0 评论 -
LeetCode:18. 四数之和
给定一个包含n 个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c和 d,使得a + b + c + d的值与target相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。 满足要求的四元组集合...原创 2019-04-15 10:50:38 · 206 阅读 · 0 评论 -
LeetCode:19. 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? /** * Definition for singly-li...原创 2019-04-15 11:58:21 · 196 阅读 · 0 评论 -
LeetCode:28. 实现strStr()
实现strStr()函数。 给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2 示例 2: 输入: haystack = "aaaaa", needl...原创 2019-04-18 10:30:22 · 281 阅读 · 0 评论 -
LeetCode:29. 两数相除
给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数dividend除以除数divisor得到的商。 示例1: 输入: dividend = 10, divisor = 3 输出: 3 示例2: 输入: dividend = 7, divisor = -3 输出: -2 说明: 被除数和除数均...原创 2019-04-18 11:31:01 · 346 阅读 · 0 评论 -
LeetCode:49. 字母异位词分组
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 class Solut...原创 2019-04-27 10:39:46 · 281 阅读 · 0 评论 -
LeetCode:50. Pow(x, n)
实现pow(x, n),即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例2: 输入: 2.10000, 3 输出: 9.26100 示例3: 输入: 2.00000, -2 输出: 0.25000 解释: 2-2 = 1/22 = 1/4 = 0.25 说明: -100.0 <x< 10...原创 2019-04-27 10:59:24 · 201 阅读 · 0 评论 -
LeetCode:45. 跳跃游戏 II
给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 说明: 假设你总是可以到达数组的最后一个位...原创 2019-04-23 10:15:30 · 331 阅读 · 0 评论 -
LeetCode:31. 下一个排列
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1 class Solution { public ...原创 2019-04-19 11:04:41 · 209 阅读 · 0 评论 -
LeetCode:33. 搜索旋转排序数组
假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是O(logn) 级别。 示例 1: 输入: nums = [4,5,6,7,0,1,2...原创 2019-04-19 14:32:31 · 215 阅读 · 0 评论 -
LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是O(log n) 级别。 如果数组中不存在目标值,返回[-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: [3,4] 示例2: 输入: nums = [5,7,7,8,8,1...原创 2019-04-19 14:52:51 · 301 阅读 · 0 评论 -
LeetCode:51. N皇后
n皇后问题研究的是如何将 n个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n,返回所有不同的n皇后问题的解决方案。 每一种解法包含一个明确的n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。 示例: 输入: 4 输出: [ [".Q..", // 解法 1 "...Q...原创 2019-05-04 11:45:51 · 243 阅读 · 0 评论 -
LeetCode:53. 最大子序和
给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释:连续子数组[4,-1,2,1] 的和最大,为6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 使用的是分治的思想 class Solution { ...原创 2019-05-04 12:51:19 · 236 阅读 · 0 评论 -
LeetCode:35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], ...原创 2019-04-20 09:50:54 · 225 阅读 · 0 评论 -
LeetCode:36. 有效的数独
数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用'.'表示。 示例1: 输入: [ ["5","3",".",".","7",".",".",".","."], ["6",".",".","1","9","...原创 2019-04-20 10:35:43 · 248 阅读 · 0 评论 -
LeetCode:46. 全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] class Solution { public List<List<Integer>> permute(int[] nu...原创 2019-04-25 09:19:17 · 200 阅读 · 0 评论 -
LeetCode:21. 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 /** * Definition for singly-linked list. * public class ListNode { * ...原创 2019-04-16 11:52:12 · 190 阅读 · 0 评论 -
Java I/O —— File类
如果要进行所有的文件以及文件内容的开发操作,应该使用java.io包完成,而在此包中有五个核心类和一个接口 五个核心类:File , InputStream ,OutputStream , Reader ,Writer 一个核心接口:SerializableFile类构造方法:设置完整路径:public File(String pathname)大部分情况下使用此操作 设置父路径与子文件路径:原创 2017-10-13 21:26:45 · 328 阅读 · 0 评论 -
LeetCode:5. 最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 思路: 反转 S,使之变成 S′。找到 S 和 S′之间最长的公共子串,这也必然是最长的回文子串。 这似乎是可行的,让我们看看下面的一些...原创 2019-04-10 13:58:33 · 221 阅读 · 0 评论 -
LeetCode:6. Z 字形变换
将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 请你实现这个将字符串进行指定行数变换的...原创 2019-04-11 14:26:19 · 232 阅读 · 0 评论 -
LeetCode:7. 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 ...原创 2019-04-11 15:22:53 · 165 阅读 · 0 评论 -
LeetCode :8. 字符串转换整数 (atoi)
请你来实现一个atoi函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...原创 2019-04-12 11:18:07 · 171 阅读 · 0 评论 -
LeetCode:9. 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2019-04-12 13:43:48 · 186 阅读 · 0 评论 -
LeetCode: 2. 两数相加
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -...原创 2019-04-09 10:56:54 · 158 阅读 · 0 评论 -
LeetCode:3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为3 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为1 示例 3: 输入...原创 2019-04-09 14:17:26 · 201 阅读 · 0 评论 -
JAVA String类
length() 得到字符串的长度 str.length(); 2. contains() 判断是否存在包含关系,返回bool类型,包含返回true,不包含返回false。 s1.contains(s); 判断s1是否包含s。 3. substring() public String substring(int begin...原创 2019-04-09 14:53:43 · 203 阅读 · 0 评论 -
LeetCode:20. 有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例2: 输入: "()[]{}" 输出: true 示例3: 输入: "(]" 输出: false ...原创 2019-04-16 10:54:18 · 181 阅读 · 0 评论 -
java项目中连接MySql
在Java之中,所有数据库操作的类和接口都保存在了Java.sql包中,在这个包中 一个类:DriverManager类 四个接口:Connection,Statement,ResultS,PreparedStatement所有JDBC连接数据库的操作流程都是固定的,按照如下几部完成: 1. 加载数据库的驱动程序(向容器加载) 2. 进行数据库连接(通过DriverManager类完成,原创 2017-10-29 16:47:53 · 1175 阅读 · 0 评论 -
LeetCode:12. 整数转罗马数字
罗马数字包含以下七种字符:I,V,X,L,C,D和M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为两个并列的 1...原创 2019-04-13 10:30:44 · 189 阅读 · 0 评论 -
LeetCode:22. 括号生成
给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出n = 3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()" ] 方法一:递归 class Solution { public List<String> generatePar...原创 2019-04-16 16:11:45 · 173 阅读 · 0 评论 -
LeetCode:13. 罗马数字转整数
罗马数字包含以下七种字符:I,V,X,L,C,D和M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为两个并列的 1...原创 2019-04-13 11:45:05 · 172 阅读 · 0 评论 -
LeetCode:38. 报数
报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1被读作"one 1"("一个一") , 即11。11 被读作"two 1s"("两个一"), 即21。21 被读作"one 2", "one 1"("一个二","一个...原创 2019-04-21 15:33:35 · 303 阅读 · 0 评论 -
LeetCode:39. 组合总和
给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。 candidates中的数字可以无限制重复被选取。 说明: 所有数字(包括target)都是正整数。 解集不能包含重复的组合。 示例1: 输入: candidates = [2,3,6,7], target = 7, 所求解集为...原创 2019-04-21 16:19:37 · 274 阅读 · 0 评论 -
LeetCode:40. 组合总和 II
给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。 candidates中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例1: 输入: candidates =[10,1,2,7,6,1,5], target =8, 所求解集...原创 2019-04-21 18:36:56 · 217 阅读 · 0 评论
分享