
LeetCode
jinnsjj
这个作者很懒,什么都没留下…
展开
-
[LeetCode]36. Valid Sudoku
36. Valid Sudoku要验证数独的棋盘,就是三个标准,行没有重复,列没有重复以及3x3格子没有重复。最开始的思路是建立1*9的hash表,依据这个标准检测三次,但这样带来一个问题是需要遍历棋盘三次。但其实可以扩大hash表,只需遍历棋盘一次。class Solution {public: bool row[9][9] = {0}; // 9行的hash bo...原创 2018-07-01 14:20:43 · 232 阅读 · 0 评论 -
[LeetCode]37. Sudoku Solver
37. Sudoku Solver求解数独。前两天做了验证数独那道题,当时对于遍历hash的使用有了一些感悟,但看这道题时候特别头疼。这两天HackerRank也刷了一下,对于DFS和BFS的理解加深了一些,渐渐的思路就变得清晰。其实是很暴力的解法,但把他转化为代码,对几天前的我来说还有一些难度。经过这两天的学习,总算是可以勉强完成,但参考别人的答案后,果然进步空间还比较大。我之前的版本,...原创 2018-07-03 19:03:22 · 352 阅读 · 0 评论 -
[LeetCode]42. Trapping Rain Water
42. Trapping Rain Water对于这题我只能说,好好看好好学。 初看题目也有想到用堆栈,但对于写法却一头雾水。class Solution {public: int trap(vector<int>& height) { stack<int> hIdx; int i = 0, h = 0, res ...原创 2018-07-01 21:10:21 · 253 阅读 · 0 评论 -
[LeetCode]41. First Missing Positive
41. First Missing Positive题目要求找出数组中第一个缺失的正数。难点在与时间复杂的要求O(n),空间复杂度要求O(1)。又是一道不会做抄答案的题目。思路是把遇到的每一个数放到元数组中排序的位置。class Solution {public: int firstMissingPositive(vector<int>& nums) ...原创 2018-07-01 18:39:59 · 228 阅读 · 0 评论 -
[LeetCode]40. Combination Sum II
40. Combination Sum II与上一题几乎一模一样,代码也可以复用。问题在于这次不可以重复,自然就想到了把DFS函数中的start加1。然而由于candidates中存在同样的数字,所以重复不能完全避免。另一方面,重复的数字是有必要出现在combination中的。这又使我苦恼。参考大佬:http://www.cnblogs.com/grandyang/p/4419386.htm...原创 2018-07-01 18:05:09 · 229 阅读 · 0 评论 -
[LeetCode]39. Combination Sum
39. Combination Sum题目要求列出所有的可能情况,我也想到了要使用递归去解决,但具体的方法却很头疼,依旧是参考了大佬的答案,豁然开朗http://www.cnblogs.com/grandyang/p/4419259.html。DFS中start变量的引用可以防止递归的答案重复,很优秀。正如大佬所说,返回所有符合要求的解的题目就想到递归,而思路多相似,要新写一个递归的函...原创 2018-07-01 17:49:49 · 299 阅读 · 0 评论 -
[LeetCode]1. Two Sum
1. Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not u...原创 2018-07-01 12:58:40 · 192 阅读 · 0 评论 -
[LeetCode]34. Search for a Range
34. Search for a Rangehttps://leetcode.com/problems/search-for-a-range/description/ 与上一题很相似,原理很清晰,两次二分搜索,一次找前边界一次找后边界,不必在找到target后直接break。但我真的是太讨厌二分搜索了,边界条件实在头疼。class Solution {public: ve...原创 2018-06-30 20:08:17 · 254 阅读 · 0 评论 -
[LeetCode]33. Search in Rotated Sorted Array
33. Search in Rotated Sorted Arrayhttps://leetcode.com/problems/search-in-rotated-sorted-array/description/这道题的核心思想在于原数组是一个递增,即使旋转后,也具有这一性质,只不过递增的数组变成了两个。所以使用binary search即可。但要注意一些细节,比如if中的条件if (n...原创 2018-06-30 19:21:53 · 173 阅读 · 0 评论 -
[LeetCode] 32. Longest Valid Parentheses
Longest Valid Parenthesesclass Solution {public: int longestValidParentheses(string s) { stack&amp;amp;lt;int&amp;amp;gt; stk; int res = 0; int start = 0; for (int i = 0; i&amp;amp;...原创 2018-06-30 18:12:31 · 259 阅读 · 0 评论 -
[LeetCode]35. Search Insert Position
35. Search Insert Positioneasyhttps://leetcode.com/problems/search-insert-position/description/这道题是一道比较简单的二分搜索题,最近的这几道题都是用二分搜索,这题的讨论要简单一点,正好适合看看二分的条件。class Solution {public: int searchI...原创 2018-07-01 13:28:08 · 153 阅读 · 0 评论 -
[LeetCode]38. Count and Say
38. Count and Say这题最开始题目没看懂。看懂后发现和Cracking the Coding Interview里面的字符串压缩的题目(1.6)很像,就是计算一个数字重复几次,然后打印重复的数量和该数字。 在字符串压缩的题目中,我用了好几个if判断,这次看了http://www.cnblogs.com/grandyang/p/4086299.html把循环优化为while,代码...原创 2018-07-01 15:50:12 · 176 阅读 · 0 评论 -
[LeetCode]43. Multiply Strings
43. Multiply Strings这道题要做的是将两个写成了string的数字相乘,思路很清晰,就是手算乘法的式子。我的想法是把这个过程模块化,写作一个字符乘以一个string和错位相加两个部分,可能实力还有欠缺写的不是很简洁。class Solution {public: string multiply(string num1, string num2) { ...原创 2018-07-03 22:39:53 · 265 阅读 · 0 评论