Notes

不要听到题就开始写代码

  1. 先弄明白功能要求,性能要求,以及现有条件。
    比如,找出数组中重复的数字,不能修改数组。
    已经知道长度为n+1的数组里的所有数字在1~n的范围内。
    要求时间空间复杂度O(logn),空间复杂度O(1)。
    
  2. 之后理清楚思路。根据要求设计数据结构,算法。
  3. 然后准备好测试用例(功能测试,边界值测试,无效输入测试),确保代码完整性。注意向面试官询问自己测试用例的输入输出对不对。
  4. 询问好错误处理方法(返回值,全局变量,异常)。
  5. 注意代码的可扩展性。
  6. 最后在开始写代码(命名规范,布局),确保代码规范性。
  7. 测试后再提交。