理论上:一道算法题的不同结果可以用于比较的,都可以用回溯来解决,例如字符串的处理,题目中带有“找出最…”的字眼。
回溯本质上就是尝试题目所有可能的解决方案 + 剪枝(常为记忆化搜索),所以回溯的解法通常可以看作通解,也很有可能效率不高。
LeetCode 306. 累加数LeetCode 310. 最小高度树LeetCode 322. 零钱兑换 可以看出有些记忆化搜索中,可以采用动态规划的方式。
微信扫一扫
理论上:一道算法题的不同结果可以用于比较的,都可以用回溯来解决,例如字符串的处理,题目中带有“找出最…”的字眼。
回溯本质上就是尝试题目所有可能的解决方案 + 剪枝(常为记忆化搜索),所以回溯的解法通常可以看作通解,也很有可能效率不高。
LeetCode 306. 累加数LeetCode 310. 最小高度树LeetCode 322. 零钱兑换 可以看出有些记忆化搜索中,可以采用动态规划的方式。
相关推荐