力扣40 组合总和Ⅱ Java版本

文章目录

  • 题目描述
  • 代码


题目描述

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的每个数字在每个组合中只能使用 一次 。

注意:解集不能包含重复的组合。

示例 1:

输入: candidates = [10,1,2,7,6,1,5], target = 8,
输出:
[
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]
示例 2:

输入: candidates = [2,5,2,1,2], target = 5,
输出:
[
[1,2,2],
[5]
]

提示:

1 <= candidates.length <= 100
1 <= candidates[i] <= 50
1 <= target <= 30

代码

class Solution {List<List<Integer>> result = new ArrayList<>();LinkedList<Integer> path = new LinkedList<>();public List<List<Integer>> combinationSum2(int[] candidates, int target) {Arrays.sort(candidates);backTracking(candidates,target,0,0);return new ArrayList<>(result);}//使用回溯的方式来找public void backTracking(int[] candidates, int target, int sum,int startIndex) {//递归出口if (sum > target) {return;}//找到满足条件的结果就添加到result中if (sum == target) {result.add(new ArrayList<>(path));return;}for (int i = startIndex; i < candidates.length; i++) {path.add(candidates[i]);backTracking(candidates,target,sum+candidates[i],i+1);path.removeLast();//回溯//如果下一轮的开头元素和这一轮一样就直接跳过,要不就会有重复的结果组合while ((i+1)< candidates.length&&candidates[i+1]==candidates[i]){i++;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/795423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

16、Lua 协同程序(coroutine)

Lua 协同程序 Lua 协同程序什么是协同(coroutine)&#xff1f;线程和协同程序区别基本语法以下实例演示了以上各个方法的用法 生产者-消费者问题 Lua 协同程序 什么是协同(coroutine)&#xff1f; Lua协同程序(coroutine)与线程比较类似&#xff1a;拥有独立的堆栈&#xff0…

图解大型网站多级缓存的分层架构

前言 缓存技术存在于应用场景的方方面面。从浏览器请求&#xff0c;到反向代理服务器&#xff0c;从进程内缓存到分布式缓存&#xff0c;其中缓存策略算法也是层出不穷。 假设一个网站&#xff0c;需要提高性能&#xff0c;缓存可以放在浏览器&#xff0c;可以放在反向代理服…

uniapp原生下拉刷新在手机上不起作用

开启原生下拉刷新时&#xff0c;页面里使用了全屏高的scroll-view&#xff0c;向下拖动内容时&#xff0c;会优先触发scroll-view滚动而不是下拉刷新。 "enablePullDownRefresh": true, 这就可能会导致下拉刷新不起作用&#xff0c;这时候就需要做到取舍&#xff0c…

设计模式(12):代理模式

一.核心作用 通过代理&#xff0c;控制对对象的访问;可以详细控制访问某个对象的方法&#xff0c;在调用这个方法前做前置处理&#xff0c;调用这个方法后做后置处理。 二.核心角色 抽象角色&#xff1a; 定义代理角色和真实角色的公共对外方法;真实角色&#xff1a; 实现抽…

【智能排班系统】雪花算法生成分布式ID

文章目录 雪花算法介绍起源与命名基本原理与结构优势与特点应用场景 代码实现代码结构自定义机器标识RandomWorkIdChooseLocalRedisWorkIdChooselua脚本 实体类SnowflakeIdInfoWorkCenterInfo 雪花算法类配置类雪花算法工具类 说明 雪花算法介绍 在复杂而庞大的分布式系统中&a…

小坤二次元导航HTML源码

源码介绍 小坤二次元导航HTML源码&#xff0c;很好看的一个htmlの引导页/导航页&#xff01;需要的上&#xff01; 源码下载 小坤二次元导航HTML源码

游戏攻略|基于Springboot和vue的游戏分享平台系统设计与实现(源码+数据库+文档)

游戏攻略分享平台 目录 基于Springboot和vue的游戏分享平台系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台&#xff1a; 2、后台 管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a…

ubuntu23设置kibana后台启动服务

要在Ubuntu 23系统中设置Kibana作为系统服务&#xff0c;以便能够通过systemd管理其启动、停止、重启以及设置开机自动启动&#xff0c;可以按照以下步骤操作&#xff1a; 1. 创建Kibana systemd服务单元 创建一个名为kibana.service的文件在 /etc/systemd/system/ 目录下&am…

python绘制子图(旭日图、渐变堆积面积图、多数据折线图、比例关系图)

大家好&#xff0c;我是带我去滑雪&#xff01; 子图可以更清晰地展示和理解复杂的数据关系&#xff0c;通过将数据分成多个小图&#xff0c;有助于观察数据间的关系和趋势。减少数据之间的重叠和混淆&#xff0c;使得每个子图更易于理解和解释。不同类型的子图可以呈现数据的不…

蓝鲸6.1 CMDB 事件推送的开源替代方案

本文来自腾讯蓝鲸智云社区用户&#xff1a;木讷大叔爱运维 背景 在蓝鲸社区“社区问答”帖子中发现这么一个需求&#xff1a; 究其原因&#xff0c;我在《不是CMDB筑高墙&#xff0c;运维需要一定的开发能力&#xff01;》一文中已经介绍&#xff0c;在此我再简单重复下&#…

mysql知识点梳理

mysql知识点梳理 一、InnoDB引擎中的索引策略&#xff0c;了解过吗&#xff1f;二、一条 sql 执行过长的时间&#xff0c;你如何优化&#xff0c;从哪些方面入手&#xff1f;三、索引有哪几种类型&#xff1f;四、SQL 约束有哪几种呢&#xff1f;五、drop、delete、truncate的区…

勒索病毒最新变种.rmallox勒索病毒来袭,如何恢复受感染的数据?

导言&#xff1a; 随着信息技术的飞速发展&#xff0c;网络安全问题日益突出&#xff0c;其中勒索病毒便是近年来备受关注的网络安全威胁之一。在众多勒索病毒中&#xff0c;.rmallox勒索病毒以其独特的传播方式和强大的加密能力&#xff0c;给广大用户带来了极大的困扰。本文…

java算法题每日多道十六

502. IPO 题目 假设 力扣&#xff08;LeetCode&#xff09;即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司&#xff0c;力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限&#xff0c;它只能在 IPO 之前完成最多 k 个不同的项目。帮助 力扣 设计完成最多…

2024 批量下载公众号文章内容/阅读数/在看数/点赞数/留言数/粉丝数导出pdf文章备份(带留言):公众号混知近2000篇历史文章在线查看,找文章方便了

关于公众号文章批量下载&#xff0c;我之前写过很多文章&#xff1a; 视频更新版&#xff1a;批量下载公众号文章内容/话题/图片/封面/音频/视频&#xff0c;导出html&#xff0c;pdf&#xff0c;excel包含阅读数/点赞数/留言数 2021陶博士2006/caoz的梦呓/刘备我祖/六神读金…

牛客小白月赛90(C\D\E)

C 小A的数字&#xff08;思维&#xff0c;考虑特殊情况&#xff09; 一、题目要求 链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 小A给定一个数字 n&#xff0c;请你帮她找出从低位对齐后任意一位均与 n对应数位不同的最小正整数。 对于本题…

大型语言模型(LLMs)面试常见问题解析

概述 这篇文章[1]是关于大型语言模型&#xff08;LLMs&#xff09;的面试问题和答案&#xff0c;旨在帮助读者准备相关职位的面试。 token&#xff1f; 在大型语言模型中&#xff0c;token 指的是什么&#xff1f; 分词&#xff08;Tokenization&#xff09;&#xff1a;可以将…

IDEA/PyCharm/GoLand同时打开2个分支

背景 想对比2个分支的代码&#xff0c;或者在A分支开发时&#xff0c;需要看B分支&#xff0c;切来切去太麻烦&#xff0c;而且新写的代码还没法直接切到B分支。 操作方法 假如有A、B 2个分支。 通过git worktree为B分支新建1个worktree&#xff0c;然后通过打开新项目的方式…

list使用与模拟实现

目录 list使用 reverse sort unique splice list模拟实现 类与成员函数声明 节点类型的定义 非const正向迭代器的实现 list成员函数 构造函数 尾插 头插 头删 尾删 任意位置插入 任意位置删除 清空数据 析构函数 拷贝构造函数 赋值重载函数 const迭代器的…

【c++】初阶模版与STL简单介绍

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章介绍一下模版和对STL进行简单的介绍&#xff0c;后续我们进入对STL的学习&#xff01; 目录 模版1.泛型编程2.函数模板2.1函数模板的原理2.2模版的实例化…

03.28_111期_C++_vector特性和使用

如果写出vector这个类的时候不用缺省值&#xff0c;也不用初始化列表 那么可以编写如下构造函数&#xff0c;利用半缺省参数给没有初始化的vector实例进行赋空 但如果存在下面这两句话的设计 template <class InputIterator> vector(Inp…