leetcode
wust_tanyao
这个作者很懒,什么都没留下…
展开
-
Leetcode 336. Palindrome Pairs
暴力法需要O(n^2*L),即遍历所有单词的两两前后组合,每个合并的单词再判断是否为回文串。优化方法是,对于每一个单词word1,能够与之相加得到回文串的单词word2必定满足:word1 + word2 = palindrome相同长度的:prefix(word1) = reverse(word2)因此可预处理用hashmap存下所有单词的reverse然后枚举每个单词...原创 2018-08-23 16:49:27 · 168 阅读 · 0 评论 -
Leetcode 198. House Robber 213. House Robber II 337. House Robber III
198. House Robber用滚动数组实现O(1)空间需要注意的是更新时index的处理class Solution {public: int rob(vector<int>& nums) { int n = nums.size(); vector<int> v(3, 0); for...原创 2018-08-21 14:54:50 · 206 阅读 · 0 评论 -
Leetcode 39. Combination Sum 40. Combination Sum II 216. Combination Sum III 377. Combination Sum IV
数组中没有重复数字,但一个数字可以重复使用,因此先将数组排序,再dfs注意dfs的起点p,下一次的起点是当前位置,才能保证每个数字使用了多次class Solution {public: vector<vector<int>> combinationSum(vector<int>& candidates, int target) {...原创 2018-08-25 18:35:27 · 272 阅读 · 1 评论