Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

BasicCode(二分查找 双指针 滑动窗口 广度/深度优先搜索 递归/回溯 动态规划)

  1. 链表问题常见操作关键字:长度、逆序、快慢指针或双指针、先走N步。例如:环形链表、相交链表等问题。

链表

数组/字符串

矩阵

哈希

二分查找

注意要点:

  1. 计算中间值时不要溢出(mid = start + (end - start)/2)
  2. while结束条件(start <= end)
  3. start 或者 end 下一次位置时 mid +- 1

双指针

解题思路:注意利用前后指针、快慢指针。

滑动窗口

解题思路:找到窗口是关键,这个窗口可以是固定大小也可能是可变大小。

广度/深度优先搜索

解题思路:变量保存访问信息!!! 深度(递归或者栈)或者广度(队列)优先搜索标记。

递归/回溯

解题思路:回溯的问题,可以先画出来深度优先搜索树,然后处理,递归,回溯(该撤销操作的一定要撤销)

动态规划

解题思路:(最大最小问题?)找扩散转移方程、临界条件.dp 可能是一维的,也可能是二维的。 对于矩阵中的最短路径和,我们提供了高效的DP解法,以及DFS递归解法和BFS队列解法,可以作为典型来学习。

位运算

其他