
LeetCode刷题
电子楼战地记者
这个作者很懒,什么都没留下…
展开
-
22. Generate Parentheses(LeetCode)
题目:给定n对括号,编写一个函数来生成格式正确的括号的所有组合。示例:n = 3时,输出应该为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]思路:通过递归实现,具体看代码class Solution {public: void generateP(int left,int right,...原创 2018-10-04 19:01:31 · 119 阅读 · 0 评论 -
组合
题目描述:给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。题目来源:LeetCode(77. 组合)解决代码:class Solution {public: vector<vector<int> > res; vector<vector<int>> combine(int n, int ...原创 2019-02-23 14:23:48 · 523 阅读 · 0 评论 -
旋转数组类的题目
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题目来源:剑指offer解决代码:class Solution {public: in...原创 2019-02-22 20:23:09 · 185 阅读 · 0 评论 -
LeetCode刷题指南:贪心算法
45. 跳跃游戏 II思路:广度优先遍历,每到一个点,判断该点所能到达范围的所有点下一次跳跃能到达的最远距离是多少class Solution {public: int jump(vector<int>& nums) { if(nums.size() < 2) return 0; int coun...原创 2019-01-25 19:27:05 · 478 阅读 · 1 评论 -
LeetCode刷题指南:动态规划系列
62.不同路径class Solution {public: int uniquePaths(int m, int n) { ///注意声明一个二维vector的办法 if(m == 0 || n == 0) return 0; if(m == 1 || n == 1) return 1...原创 2019-01-24 22:33:27 · 451 阅读 · 0 评论 -
数组中和为x的所有组合
数组:给定一个数组,求出数组中和为某个值的所有组合。例子:数组{3,2,1,1,1,5,6}中和为10的所有组合思路:通过递归加回溯的办法解决,具体思路看代码:void getSum(vector<int> &nums,int pos,int sum,vector<int> &v){ if(sum < 0) ...原创 2018-10-17 14:53:43 · 2161 阅读 · 0 评论 -
18. 4Sum
题目:给定n个整数和整数目标的数组nums,在nums中是否有元素a,b,c和d,使得a + b + c + d = target? 找到数组中所有唯一的四元组,它给出了目标的总和。(解决方案中不能包含重复的元祖)示例:Given array nums = [1, 0, -1, 0, -2, 2], and target = 0.A solution set is:[ [-...原创 2018-10-05 16:50:35 · 170 阅读 · 0 评论 -
46. Permutations
问题:给定一组不同的整数,返回所有可能的排列。示例: Input: [1,2,3]Output:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]思路:方法一:借鉴Next Permutations中的方法,但是在Next Permutations时要先排序,C++代码如下:cla...原创 2018-10-05 15:12:45 · 243 阅读 · 0 评论 -
31. Next Permutation
题目:实现下一个排列,它将数字重新排列成字典下一个更大的数字排列。如果这种安排不可能,则必须将其重新排列为尽可能低的顺序(即按升序排序)。更换必须就地,并且只使用恒定的额外内存。这里有些例子。 输入位于左侧列中,其相应的输出位于右侧列中。示例:1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路:(1)从后向前遍历,找到第一个不满足降序...原创 2018-10-04 21:15:58 · 570 阅读 · 0 评论 -
5. Longest Palindromic Substring
题目:最长回文子字符串给定一个字符串s,找到s中最长的回文子字符串。 您可以假设s的最大长度为1000。示例:Input: "babad"Output: "bab"Note: "aba" is also a valid answer.思路:第一种解决办法:通过遍历字符串中每一个字符,对该字符前后进行回文的判断,并保存当前最长回文字符串,遍历完成后得到输出结果。代码待...原创 2018-10-04 19:08:57 · 155 阅读 · 0 评论 -
LeetCode(子集)
题目描述:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。题目来源:LeetCode(78. 子集)解决代码:class Solution {public: vector<vector<int> > subsets(vector<int>& nums) { ...原创 2019-02-23 15:16:58 · 320 阅读 · 0 评论