关于递归回溯法的时间复杂度的计算

class Solution {
public:
    vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
        vector<vector<int>> ret;
        vector<int> tmp;
        help(ret,tmp,candidates,target,0);
        return ret;
    }
    void help(vector<vector<int>> &ret,vector<int> &tmp,vector<int> &candidates,int target,int index){
        if(target==0){
            ret.push_back(tmp);
            return;
        }
        for(int i=index;i<candidates.size()&&target>=0;i++){
            tmp.push_back(candidates[i]);
            help(ret,tmp,candidates,target-candidates[i],i);
            tmp.pop_back();
        }
    }
};

这是leetcode上的39. Combination Sum
想请问这种递归算法时间复杂度是多少?如何计算

全部评论
有一种想法是解有多少个,时间复杂度就接近那个值,还有一种看法可以看我的题解https://leetcode-cn.com/problems/subsets/solution/dui-liang-chong-di-gui-qiu-jie-suan-fa-de-shi-jian/
点赞 回复 分享
发布于 2020-02-18 16:22

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务