第九周算法总结
字符串算法
基础知识
由于语言区别 字符串在不同语言中,可变属性有区别 ,参考https://lemire.me/blog/2017/07/07/are-your-strings-immutable/
字符串比较,注意是指针比较 还是值比较
例题:
- 找到两个字符串第一个不重复的字符(map解法)
- 字符串转整型 (https://shimo.im/docs/KkDKkpWxjjrJXdpY/read)
- 最长公共前缀 (对齐后双重遍历)
- 反转字符串 (用位运算交换量值)
- 反转单词(按组旋转,先全旋转再按组旋转,负负得正)
- 找出所有异位词
高级算法(动态规划结合)
回文串
- 最长回文子串(动态规划,找状态数组)
- 编辑距离(没懂,还需要细看)
- 最长公共子序列
最长子串、子序列问题
- https://leetcode-cn.com/problems/longest-common-subsequence/
- https://leetcode-cn.com/problems/edit-distance/
- https://leetcode-cn.com/problems/longest-palindromic-substring/
字符串匹配
暴力法
如何加速(hash加速)
- Rabin Karp 算法
- KMP算法 (字符串匹配)https://www.bilibili.com/video/av11866460?from=search&seid=17425875345653862171
网友评论