算法思想
滑动窗口,
1 | 常用在数组和字符串的操作上面。 |
动态规划,
1 | 是一种暴力方法,下一步的操作时通过上一步的某条件达到的。 |
分治法
1 | 一个问题可以拆成两个或多个“相似”的小问题,就一定要用分治法。 |
回朔法,深度遍历dfs
1 | 是一种暴力方法 |
单调栈
1 | 维护一个单调递增或者单调递减的栈。如果是递减栈,遇到一个比栈顶元素还要小的元素, |
二分法
1 | 一种搜索方法,在一种具有单调性的队列中,快速搜索目标 |
总结
- 如果遇到必须用暴力的算法来解决的问题,一般都会用一个栈来进行维护减少重复操作。
就比如回朔法,给之前走过的可行步骤做一个存储,如果下一步骤可行的操作在存储里存在
就调用存储的方法 - 能用dp算法的一般也能用回朔法。如果当前可选择的方法量比较少推荐用回溯