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
相关推荐
K2I-3 小时前
UCI中Steel Plates Faults不平衡数据集处理
python
蓑笠翁0013 小时前
Django REST Framework 全面指南:从模型到完整API接口开发
后端·python·django
Miraitowa_cheems3 小时前
LeetCode算法日记 - Day 64: 岛屿的最大面积、被围绕的区域
java·算法·leetcode·决策树·职场和发展·深度优先·推荐算法
Christo33 小时前
关于K-means和FCM的凸性问题讨论
人工智能·算法·机器学习·数据挖掘·kmeans
Lisonseekpan3 小时前
Spring Boot 中使用 Caffeine 缓存详解与案例
java·spring boot·后端·spring·缓存
为java加瓦3 小时前
Rust 的类型自动解引用:隐藏在人体工学设计中的魔法
java·服务器·rust
SimonKing4 小时前
分布式日志排查太头疼?TLog 让你一眼看穿请求链路!
java·后端·程序员
感谢地心引力4 小时前
【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
数据库·python·conda·pyqt·pyinstaller
消失的旧时光-19434 小时前
Kotlin 判空写法对比与最佳实践
android·java·kotlin
_不会dp不改名_4 小时前
leetcode_1382 将二叉搜索树变平衡树
算法·leetcode·职场和发展