先想暴力解法,即用代码模拟出题目描述的过程。 可以暴力解,则对已有的暴力解法进行简化 时间简化:滑动窗口、贪心、二分空间简化:位运算(如用一个2位的二进制数描述四种可能的字符,而一个int可以表示16个这样的字符)、反序(比如合并两有序数组,其中一个数组有足够的空间装下所有元素,此时可以从大往小找放在末尾,避免覆盖有效数据) 不可以暴力解 是需要全局遍历的问题:dfs、bfs、回溯可以拆分成规模更小的同类子问题:动态规划、记忆化递归、分治