1. 如果局部最优解可以导出整体最优解,直接用贪心算法
2. 如果局部最优解不一定导出整体最优,整体最优可能来自于局部次优解,那就要用搜索(一般用深搜 dfs,dfs 用递归更好写)
3. 如果搜索树中有大量的重复状态出现(可能导致搜索超时),则应该用 dp
4. dp 一般用于求解方案数问题,如果题目要求打印出所有方案集合,那还是应该用搜索,dp 不适用
(详情见 LeetCode 45. 跳跃游戏 II)
1. 如果局部最优解可以导出整体最优解,直接用贪心算法
2. 如果局部最优解不一定导出整体最优,整体最优可能来自于局部次优解,那就要用搜索(一般用深搜 dfs,dfs 用递归更好写)
3. 如果搜索树中有大量的重复状态出现(可能导致搜索超时),则应该用 dp
4. dp 一般用于求解方案数问题,如果题目要求打印出所有方案集合,那还是应该用搜索,dp 不适用
(详情见 LeetCode 45. 跳跃游戏 II)