常见算法

排列组合问题

排列 每次丢掉上次用过的,剩下的继续递归
组合 每次丢掉上次用过的,只向右遍历,为了去掉相同组合,剩下的继续递归

二分法

查找目标左边界,值相等时向左移动,即right-=1,最后返回left
查找目标右边界,值相等时向右移动,即left+=1,最后返回right

递归

  • 深度暴力
  • 记忆化递归

排序

哈希

贪心

回溯

动态规划

动态规划一般分为一维、二维、多维(使用状态压缩),对应形式为 dp(i)、dp(i)(j)、二进制dp(i)(j)。

动态规划做题步骤

明确 dp(i)应该表示什么(二维情况:dp(i)(j));
根据 dp(i)和dp(i-1)的关系得出状态转移方程;
确定初始条件,如 dp(0)。

快慢指针问题

快指针去判断值,把想要的值保存到慢指针
posted @ 2022-06-15 21:54  倒骑驴子  阅读(29)  评论(0编辑  收藏  举报