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
相关推荐
5pace4 分钟前
【JavaWeb|第二篇】SpringBoot篇
java·spring boot·后端
oak隔壁找我5 分钟前
Spring AOP源码深度解析
java·后端
oak隔壁找我8 分钟前
MyBatis Plus 源码深度解析
java·后端
oak隔壁找我8 分钟前
Druid 数据库连接池源码详细解析
java·数据库·后端
被AI抢饭碗的人9 分钟前
算法题(240):最大食物链计数
算法
oak隔壁找我9 分钟前
MyBatis 源码深度解析
java·后端
lang2015092811 分钟前
Spring 4.1新特性:深度优化与生态整合
java·后端·spring
熬了夜的程序员12 分钟前
【LeetCode】82. 删除排序链表中的重复元素 II
数据结构·算法·leetcode·链表·职场和发展·矩阵·深度优先
李慕婉学姐13 分钟前
【开题答辩过程】以《重庆市社区养老服务小程序设计与实现》为例,不会开题答辩的可以进来看看
java·spring boot
hello 早上好13 分钟前
持久化输出与 ChatMemory
java·spring