九章算法第一章
面试过程中编写代码的情况
- 先解释中心思想,再编写代码,整体解释。
- 注意代码风格。
- 内部类不可取。
- 命名清楚。
- 区间型动态规划 – 大区间的结果依赖于小区间的结果(for循环区间的长度,for循环区间的起点,计算区间的终点)。
- 不推荐全局变量。
- 重复代码存在问题。
好的代码质量
- Bug Free(优化代码风格-子函数+好的命名风格,目标明确不易出错);
- 好的代码风格:包括变量名命名规范有意义,合理的使用空格,善用空行;
- 容易读懂的逻辑:复杂事情简单化;
- 没有冗余代码;
- 有边界检测和异常处理。
面试算法不等于算法
九章算法第二章
四种不好的代码风格
- 异常检测:需要对空对象进行特判;
- 变量命名:尽量不要用单个字符进行命名;
- 代码美观:在必要的位置需要加上空格;
- 缩进过多:通过用函数包装代码块减少代码的缩进。
实现较好的Coding Quality
- 判断参数异常值
- 变量命名易懂,避免abcd……
- 缩进尽量不超过三层
- 函数名命名合理,如return的是boolean值,则可写isxxx()
- 逻辑块使用空行分开
- 必要位置需要添加空格,如for (int i = 0 ;……)
优化算法的逻辑
- 先思考暴力求解的情况,分析优化空间;
最长回文子串求解
- 暴力求解, O(n^3)
- 基于中心点的枚举Enumeration
本文探讨了在面试中如何通过清晰解释、高效编码和遵循良好的编程习惯来展示九章算法的理解。重点强调了代码质量的重要性,包括BugFree、命名规范、避免冗余和异常处理。同时提到了优化算法逻辑和解决最长回文子串问题的方法,提倡从暴力求解出发寻找优化空间。
2521

被折叠的 条评论
为什么被折叠?



