leetcode 刷题指南 & 刷题顺序

1.刷题方法&顺序:

  1. 按类型刷,这样能总结出每种类型题目的规律。
  2. 优先树、链表、二分查找、DFS、BFS、动态规划
  3. 数目:常见类型刷10道+
  4. 顺序:先做2~4道简单题,然后做中等难度题目,hard我没有做。优先做题目序号小、点赞多、提交成功率高的题目,这是为了从简单入手,否则一上来就做难题太花费时间。
  5. 给自己设定时间:leetcode每道题目都有“模拟面试”功能,简单中等题目分别给限定了15、30min,做不出来的话就看答案,记住思路后自己再做一遍。
  6. 总结:每种类型题目做完10+道后,总结规律。

2. 举个例子:二分查找题目总结

/**
 * 二分查找:重点在于每次放弃一边,选择另一边
 * 1. 基础
 * 2. 变形:搜索插入下标、搜索开始和结束位置、搜索二维矩阵(先用二分查找算出在哪一行,然后用二分查找在这1行里查找)
 * 3. 旋转排序数组:
 *      3.1 搜索旋转排序数组(重点在于放弃掉哪一边,通常是通过哪一边是有序的来做判断)
 *      3.2 其升级版(存在重复元素):当n[left]==n[mid]==n[right]时,无法判断哪边是有序的,所以要left++和right--来进一步判断
 *      3.3 寻找最小值(判断抛弃哪边的方法:比较nums[mid]和nums[right]谁大谁小)
 * 4. 不再有目标值,而是寻找任何一个峰值。
 */

待续

你可能感兴趣的:(leetcode,算法,刷题)