摘要:题目链接:https://leetcode.com/problems/longest-valid-parentheses/description/ 题目大意:找出最长的括号匹配的子串长度。例子:"(()("长度是2;"()()(())"长度是8 解法一:利用三层for循环,逐一的找每一个子串,并判断
阅读全文
摘要:题目链接:https://leetcode.com/problems/3sum/description/ 题目大意:与第一题类似,这个题是要求三数之和等于0,且结果不能重复。 解法一:两层for循环,先排序,拿出一个数,对剩余的数组进行第一题类似的两数求和操作,方法可以照搬第一题,可以用两指针移动,
阅读全文
摘要:题目链接:https://leetcode.com/problems/reverse-integer/description/ 题目大意:与190题类似,只是这题是反转十进制数值,在有符号整型范围内,如果得到的结果超过了整型范围,即溢出,则返回0。 法一:暴力解,将整型数转为字符串,再将字符串转为字
阅读全文
摘要:题目链接:https://leetcode.com/problems/reverse-bits/description/ 题目大意:将数值的二进制反转。 法一(借鉴):由于是无符号32位整型,当二进制反转后会得到一个32位的整型,eclipse中已经无法正常显示了,但是转为二进制还是正确的。至于为什
阅读全文
摘要:题目链接:https://leetcode.com/problems/number-of-1-bits/description/ 题目大意:与338题类似,求解某个无符号32位整数的二进制表示的1的个数。注意要求是无符号32位整数。 注意:无符号整数的范围是0~2^32-1,而普通int的范围是-2
阅读全文
摘要:题目链接:https://leetcode.com/problems/counting-bits/description/ 题目大意:求解从0到num的所有数的二进制表示中所有1的个数。 法一:暴力解,两个for循环,分别求解每一个二进制表示,然后计数其中1的个数。代码如下(耗时9ms): 1 pu
阅读全文
摘要:题目链接:https://leetcode.com/problems/next-permutation/description/ 题目大意:其实是C++里面的求解全排列的下一个排列的函数。然后这里用Java实现也是极好的。其实是可以用在全排列里的,具体可以看46题:http://www.cnblog
阅读全文
摘要:题目链接:https://leetcode.com/problems/combination-sum-iii/description/ 题目大意:与39题类似,这里数组没有重复数字,就是从1到9,每个数字也不能重复选,且要求选的数字一共要是k个。 法一:利用39题的法一,直接暴力。代码如下(耗时2m
阅读全文
摘要:题目链接:https://leetcode.com/problems/combination-sum/description/ 题目大意:给出一串数字(没有重复数字)和一个数字,找出所有组合数的和与这个数字相等的组合数,其中组合数的每一个数字可以重复选,例子如下: 法一:利用78题的法一,只是这里对
阅读全文
摘要:题目链接:https://leetcode.com/problems/combination-sum-ii/description/ 题目大意:与39题类似,只是这里数组中的数字可以有重复,且每一个数字只能取一次。 法一:利用39题的剪枝代码,加了一个去重的操作(与前面47和90的去重操作一样)。代
阅读全文
摘要:题目链接:https://leetcode.com/problems/subsets-ii/description/ 题目大意:与78题一样,只是这里给出的数组中有重复数字。 法一(借鉴):利用78题的法一,进行与47题类似的剪枝去重操作。也就是排序,判断前一个元素等。代码如下(耗时4ms): 1
阅读全文
摘要:题目链接:https://leetcode.com/problems/subsets/description/ 题目大意:给出一个数组序列的所有子集合,包括空集。(数组中的数字唯一) 法一(借鉴):利用77题组合的思想,只是这里不需要判断集合中总数是不是达到k值,而是将每一次得到的集合都加入结果集中
阅读全文
摘要:题目链接:https://leetcode.com/problems/combinations/description/ 题目大意:组合问题,给出一个数n以及要组合的数的个数k,输出所有组合数。 法一(借鉴):虽然前面做了排列的题,可惜还是不会做这个组合题。代码如下(耗时76ms): 1 publi
阅读全文
摘要:题目链接:https://leetcode.com/problems/permutations-ii/description/ 题目大意:全排列一串数(有重复数字)。 法一:也即是46题的法一,只加了一行代码。代码如下(耗时499ms): 1 public List<List<Integer>> p
阅读全文
摘要:题目链接:https://leetcode.com/problems/permutations/description/ 题目大意:给出一串数组进行全排列(数组中数字唯一)。 法一:模板全排列代码标记数组版。代码如下(耗时5ms): 1 public List<List<Integer>> perm
阅读全文
摘要:题目链接:https://leetcode.com/problems/generate-parentheses/description/ 题目大意:给出一个数字n,找出所有包含n对()括号对的组合,例子如下: 法一:直接用深搜,将(和)交换着加入string中,然后每得到一个string用stack
阅读全文
摘要:题目链接:https://leetcode.com/problems/median-of-two-sorted-arrays/description/ 题目大意:给出两个有序数组,找出他们的中位数,如果是偶数,要计算两个最中间的数的均值。 法一:模拟归并排序的核心算法,将两个有序数组合成一个有序数组
阅读全文
摘要:题目链接:https://leetcode.com/problems/longest-substring-without-repeating-characters/description/ 题目大意:找出一串字符串的最长无重复子串。例子如下: 法一:两层for循环,一个字符一个字符的遍历其后是否有子
阅读全文
摘要:题目链接:https://leetcode.com/problems/single-number-ii/description/ 题目大意:给出一串数,每个数都出现三次,只有一个数只出现一次,把这个出现一次的数找出来。 法一:利用hashMap,空间换时间,但是好像也没怎么换到时间。代码如下(耗时1
阅读全文
摘要:题目链接 题目大意:题意见112题,这里就是找出所有路径,并且返回所有路径值。也就是要想办法把路径存起来。 法一:利用145的后序非递归遍历,因为在后序非递归遍历中,当要弹出某一个结点时,栈中所存的就是当前结点的所有父节点,也就是从根结点到当前结点的路径,所以很快想到用后序非递归。这里还有个要注意的
阅读全文