路漫漫其修远兮,吾将上下而求索
20年2月15日刷满100(1道数据库,未上传) 这个阶段主要是前500的简单题,包含各种数据结构和算法的初级使用 有一些值得注意的点:
- 递归方法除树以外的数据结构不适宜作为第一解法,牵扯到子函数调用问题,但在树中的时间复杂度为O(logn)
- Floyd 循环检测处理部分问题很高效
- 相比于Java封装好的各种数据结构HashSet,Map,List, 直接数组实现往往更好
- 对数字的处理操作可以先审视二进制表示,可能有奇效
- 对于一些大型数据寻找特殊值(比如质数)个数, 筛选法可以很高效
- 数组和字符串常常可以考虑双指针
- 对一些约束条件固定的题目,可以记录静态变量
- 动态规划问题,重复调用的子问题,最优解问题
- Stirng操作可以考虑StringBuilder
- map的getOrDefalut
- Deque双端队列的使用