1. 遇到问题时要注意题中的条件:
给定一个有序数组xxx 中,"有序"是否可以利用?
2. 没有思路时怎么办?
a: 用几个简单的测试用例,检验一下
b:暴力解法 通常都是思考的起点.
3.还是没有思路怎么办?
a: 遍历常见的算法思路
b: 遍历常见的数据结构
c: 空间和时间的交换?
d: 预处理数据 => 排序
e: 在瓶颈处找到答案
4.实际编写问题
a: 极端条件判断
数组为空? 字符串==null? 数字==0? 指针->null?
b: 变量名等 符合规范
c: 注重模块化,复用性
算法在1s之内 可解决的问题:
O(n^2) 的算法可处理大约10^4级别的数据
O(n) 的算法可处理大约10^8级别的数据
O(nlogn)的算法可处理大约10^7级别的数据