案例分析:最长回文子串——面试避免踩的坑与注意事项
2020-08-11 本文已影响0人
ebook_sea
1. 子串与子序列
2. 回文字符串——相向型双指针判断
暴力求解法:
我们的目的是写出好的n^3的复杂度的算法,或者优化为n^2的算法
一个好的 Coding Quality 的 n^3的复杂度的算法如下:
1. 异常检测模块,避免输入为null时报错
2. 变量命名使用1-2个有实际意义的单词,避免使用单个无意义字母
3. 合理使用空格(for、if后面,运算符前后)、空行、缩进,有一定的代码风格
3. 基于中心线枚举的算法
最佳实践!!!
注:千万要避免使用全局变量
4. 基于动态规划的算法
由于一个字符串是回文串,满足两头字符相等,且中间还是一个回文串,以此类推。所以可以使用动态规划求解。
用continue可以减少缩进,并且可以将嵌套关系改为并列。少用else,避免嵌套。