1、培养逻辑思维和解决问题的能力
2、提升代码质量
3、超越自我而非超越他人
1、弄清没种算法解决问题和使用的先决条件,以下是一些典型例子:
【例如】排好序的数组里找某个数是否存在(如果乱序,则不可直接进行二分查找)
【例如】一个数组中的连个下标L1和L2,假设L1<L2,L1对应的方案R1需要小于或等于L2对应的方案R2,这样在L不断往右移动的过程中,R也可以停止或往右移动,从而使得L和R均为从头到尾遍历一次。【切记不能忙不给面试官回答能不能用什么方法,问题没看透彻】
2、分析时间复杂度 & 空间复杂度
3、用不同思路解决同一问题
总结回顾,发现不同算法之间的关联性、异同点