Record & Promote
- 001:两两相加,用Map去记录并计算
- 002:链表数字相加,处理好进位即可
- 007:数字反转,一位位处理,并注意溢出的问题,可以使用long型来判断是否溢出
- 008:字符串转数字,避免一些坑就好,两边是空格、'+''-'两个符号、溢出
- 009:判断回文数字,和数字反转类似,一位位处理,处理到中间即可进行比较
- 004:两个数组的中位数,使用归并排序,归并到一半即可,控制两个数组的头并进行查看中间位置
- 003:最长不重复子串,用set记录暴力解,更好用set配合滑动窗口
- 005:最长回文子串,暴力达n^3,中间扩散判断,也可以使用动态规划
P(i,j)=(P(i+1,j−1)
- 005:最长回文子串,暴力达n^3,中间扩散判断,也可以使用动态规划P(i,j)=(P(i+1,j−1)
- 010:RegularExpressionMatching,给出一个字符串和一个字符串并带有'*'和'.',做类似正则表达式的匹配
- 最长重复子串:蛮力法、后缀数组HashMap<Character, List>比较相邻的就可以了
- 最长重复子序列:动态规划
assist[i][j] = Math.max(assist[i - 1][j], assist[i][j - 1]);
- 006:将一个字符串摆成Z字型,并按行输出,弄清楚关系最重要