案例分析:最长回文子串——面试避免踩的坑与注意事项

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,避免嵌套。

上一篇下一篇

猜你喜欢

热点阅读