LeetCode39 组合和

小夏 娱乐 更新 2024-01-28

image.PNG 问题地址:39组合和 - LeetCode

给你没有重复的元素整数数组candidates和目标整数target找出答案candidates您可以制作目标的数量和数量target在所有不同的组合并以列表形式返回。 您可以按:以任何顺序返回这些组合。 candidates相同数字可以选择无限重复

如果以不同的数量选择至少一个数字,则两种组合是不同的。 对于给定的输入,保证和 for 是target不同组合的数量更少块。

使用递归和回溯是因为数组的编号可以无限使用,所以第一步是先去重,减少提前结束递归的循环次数,在判断第一个数字可以提前结束递归时使用索引,这样可以避免重复使用之前已经加到总数中的索引。 当然,您可以使用自己的索引。 去重思路:数组是排序的,从不重复,回溯后不需要一直从头开始,因为前一个已经加到总判断中,可以从当前索引继续递归。

public list>result = new arraylist<>(

public list> combinationsum(int candidates, int target)

递归。 public void process(listsortlist,deque path,int target,int beginindex)

联接结果集。

if(target == 0)

如果不防止重复,则将避免使用以前重复过的数字,但可以使用自己的坐标。

for(int a= beginindex;a

integer current = sortlist.get(a);

联接当前结果集。

path.addlast(current);

递归。 process(sortlist,path,target-current,a);

回溯时,需要从当前结果集中删除原始值。

path.removelast();

相似文章

    Leetcode 2009 使数组具有最少的操作数

    给你一个整数 nums 数组。在每个操作中,您都可以将 nums 中的任何元素替换为任意整数。如果 Nums 满足以下条件,则它是连续的 nums 中的所有元素彼此不同。nums 中最大元素和最小元素之间的差值等于 numslength 例如,nums ,,, 是连续的,但 nums ,,,, 不是...

    LeetCode 32 个最长的有效括号

    仅给定一个收容 跟 以查找包含有效括号的最长子字符串的长度。示例 输入 输出 解释 最长的有效括号子字符串是 示例 输入 输出 解释 最长的有效括号子字符串是 对阿里巴巴腾讯字节进行动态编程的直观方法是分别计算以 i 开头的最长有效括号 i 从 到 n 并从中取最大的括号。支持 Python 类解决...

    大雪过后,牢记“三物不碰、三菜不吃、三肉不吃”,寒冬不能马虎

    导读 大雪过后,天气会逐渐变冷,所以我们在这个时候的日常生活中要及时做出改变,以应对接下来多变的天气。一般情况下,大雪过后,气温明显下降,一定要及时补充能量,增强自身免疫力,同时记住,有些对身体不好的事情,千万不要做,以免伤到身体。这里笔者建议,大雪季节过后,要牢记 三物不碰 三菜不吃 三肉不吃 在...

    Cyanine3 DA,Cy3 多巴胺,一种橙色荧光花青素荧光染料

    一 产品描述 Cyanine DA,Cy Dopamine,Cy Cyanine 是一种橙色荧光花青素荧光染料。Cy染料的激发峰和发射峰分别在nm和nm附近,对荧光和pH不敏感,可以在共聚焦显微镜中用nm 肩 或nm 的激光束激发。二 理论分析 中文名称 cy多巴胺。英文名称 Cyanine DA ...

    崩坏 3 手机游戏指南 2024 崩坏 3 手机游戏初学者提示

    崩坏是一款动作角色扮演手机游戏。游戏的背景是一个后世界末日的世界,玩家需要选择不同的角色,组建自己的氏族,并与各种强大的敌人作战。我想玩 崩坏 手机游戏我不知道从哪里开始?作为一款国产手游,崩坏 一直在尝试创新的游戏模式,这也导致了很多新手玩家进入游戏后的感受任务繁多且微不足道并且不知道从哪里开始。...