代码随想录day22 组合 | 组合总和III | 电话号码的字母组合 |
组合
解题思路
利用回溯算法来暴力枚举所有可能性。这里利用了代码随想录的解题模板即可。
剪枝方面,由于某些情况下(如k = n) 不需要遍历所有的可能性,因此我们要适当修改一下每次循环遍历的元素个数来进行优化
知识点
回溯
心得
如果知道如何将此类问题转换为一个n叉树,就会很清晰的套用模板解决问题。
组合总和III
解题思路
在组合的基础多加了一个计算求和的过程,注意回溯的情况下不要忘记减掉前一个加过的值。剪枝方面,通过判断和是否比目标值大来决定是否继续遍历。
知识点
回溯
心得
套模板就能很快写出来
电话号码的字母组合
解题思路
我的思路是新建一个字符串和数组分别存储电话号码对应的字符串和起始下标,随后利用回溯算法遍历新建的字符串,每次遍历的起始位置则是数组中存的起始下标。注意别忘记回溯数组的起始下标。
知识点
回溯
心得
巩固了回溯算法的应用