146.组合总和

java 复制代码
class Solution {
    List<List<Integer>> res=new ArrayList<>();
    List<Integer> li=new ArrayList<>();
    public List<List<Integer>> combinationSum(int[] candidates, int target) {
        solut(candidates,target,0,0);
        return res;
    }
    void solut(int[] candidates, int target,int index,int listSum){
        if(listSum==target){
            res.add(new ArrayList<>(li));
            return;
        }
        for(int i=index;i<candidates.length&&listSum<=target;i++){
            li.add(candidates[i]);
            listSum+=candidates[i];
            solut(candidates,target,i,listSum);
            listSum-=li.get(li.size()-1);
            li.remove(li.size()-1);
        }
    }
}
python 复制代码
class Solution(object):
    def combinationSum(self, candidates, target):
        res=[]
        li=[]
        def solut(candidates,target,index,listSum):
            if listSum>target:
                return
            if listSum==target:
                res.append(li[:])
                return
            for i in range(index,len(candidates)):
                li.append(candidates[i])
                listSum+=candidates[i]
                solut(candidates,target,i,listSum)
                listSum-=li.pop()
        solut(candidates,target,0,0)
        return res
相关推荐
乐之者v9 分钟前
AI编程 -- Agents.md 的简单示例
java·ai编程
wabs66612 分钟前
关于图论【广度优先搜索的理论基础】
算法·图论·宽度优先
孤魂23315 分钟前
逻辑回归算法
算法·机器学习·逻辑回归
weixin_3776348419 分钟前
【多模型预测】 如何合理融合多个预测分值
算法·机器学习·概率论·预测·agent预测
无风听海25 分钟前
Claude Agent Skills 的四种设计模式;从渐进式披露到最小权限
java·算法·设计模式
小猴子爱上树28 分钟前
一站式解决图片视频翻译难题的高效AI工具
人工智能·python·音视频
weixin_5386019741 分钟前
智能体测开Day31
开发语言·python
37.2℃99542 分钟前
专业的Claude Design解决方案
前端·算法
め.1 小时前
定点数运算库
算法·unity
lbb 小魔仙1 小时前
Git + Python 项目工作流最佳实践:pre-commit、CI、CHANGELOG 自动化
git·python·ci/cd