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
相关推荐
iAkuya7 分钟前
(leetcode)力扣100 二叉搜索树种第K小的元素(中序遍历||记录子树的节点数)
算法·leetcode·职场和发展
weixin_462446238 分钟前
Python 使用 openpyxl 从 URL 读取 Excel 并获取 Sheet 及单元格样式信息
python·excel·openpyxl
一嘴一个橘子12 分钟前
mybatis - 动态语句、批量注册mapper、分页插件
java
组合缺一13 分钟前
Json Dom 怎么玩转?
java·json·dom·snack4
-To be number.wan29 分钟前
B 树 vs B+ 树:为什么 MySQL 用 B+ 树,而不是 B 树?
数据结构
危险、30 分钟前
一套提升 Spring Boot 项目的高并发、高可用能力的 Cursor 专用提示词
java·spring boot·提示词
kaico201834 分钟前
JDK11新特性
java
钊兵35 分钟前
java实现GeoJSON地理信息对经纬度点的匹配
java·开发语言
jiayong2339 分钟前
Tomcat性能优化面试题
java·性能优化·tomcat
毕设源码-钟学长43 分钟前
【开题答辩全过程】以 基于Python的健康食谱规划系统的设计与实现为例,包含答辩的问题和答案
开发语言·python