LeetCode #491:Increasing Subsequences(递增子序列)

题目描述

求递增子序列有点像是取有序的子集,而且本题也要求不能有相同的递增子序列,很容易就产生思维定式使用 “组合总和II” 的方法(先排序再用类似 i > startIndex && nums[i] == nums[i - 1] 的条件去重)。然而根据本题题意,nums 数组是不能排序的(不然排完序的数组就都是递增子序列了),使用之前的去重逻辑就有问题了。故本题在去重时需要设置一个 set 进行检测(由于数组的数据范围在 [-100, 100],也可换成长度为 201 的标记数组)。

阅读全文

LeetCode #131:Palindrome Partitioning(分割回文串)

题目描述

本题的核心逻辑是:依次截取串 s 的若干子串 s[0...i],其中 i 的范围为 [0, length(s) - 1]。若子串 s[0...i] 是回文串,将其加入待定答案序列 temp 中,将 s 替换为 s[i+1...] 往下一层递归执行;若 s[0...i] 不是回文串,则 i++,看 s[0...i+1] 是否是回文串。直到没有字符可划分时,划分完毕,将 temp 加入最终答案。

阅读全文