字符串
3. 无重复字符的最长子串 map对于计算结果集重要性
实例模型
先排序处理,也类似剪枝条件一样优化时间复杂度,dfs先排序,不然过程中做状态存储就太复杂了
300. 最长递增子序列 和这个又有点不一样,上面块插入进去对中间状态位有影响
494. 目标和 递归穷举总是可以表示成状态过程
416. 分割等和子集 排序操作可以让递归变得简单
62. 不同路径 记忆法则是图遍历过程中,通过已标记数组来剪枝,无法像数字一样进行排序
15. 三数之和 排序让处理数字方式变得简单
30. 串联所有单词的子串 长度相同的单词这不起眼条件,让移动不是单个字符移动
1074. 元素和为目标值的子矩阵数量 前缀和+哈希表
1255. 得分最高的单词集合 选择和不选择问题,不像组合或排列一样,一定要选择其中元素
474. 一和零 选择和不选择体现了0和1问题,背包问题
技巧
1177. 构建回文串检测 这道题要是有了性能限制,就很难发现配对剩余个数绝对比种数少,由于重新排序可以位运算计算奇数量还是偶数量
a-z得到数值1-26,通过位移形成一个整数,26位每个0,1表示
字典树
记忆化方式,及动态规划都是优化点