当前位置: 首页 > news >正文

Leetcode—40.组合总和II【中等】

2023每日刷题(七十七)

Leetcode—40.组合总和II

在这里插入图片描述

算法思想

在这里插入图片描述
在这里插入图片描述

实现代码

class Solution {
public:vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {vector<vector<int>> ans;vector<int> path;sort(candidates.begin(), candidates.end());function<void(int, int)> dfs = [&](int start, int res) {if(res == 0) {ans.emplace_back(path);return;}for(int j = start; j < candidates.size(); j++) {if(res - candidates[j] < 0) {return;}// 如果该元素与左边元素相等,说明该搜索分支重复,直接跳过if(j > start && candidates[j] == candidates[j - 1]) {continue;}path.emplace_back(candidates[j]);dfs(j + 1, res - candidates[j]);path.pop_back();}};dfs(0, target);return ans;}
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

http://www.lryc.cn/news/286329.html

相关文章:

  • vscode连不上虚拟机,一直密码错误
  • 力扣每日一题 --- 972. 相等的有理数
  • EXECL 单元格字符串链接 CONCAT :应用:将一行数据转为json
  • 基于Python实现人脸识别相似度对比
  • CSS 蜡烛效果
  • 渗透测试之Kali如何利用CVE-2019-0708漏洞渗透Win7
  • Docker(二)安装指南:主要介绍在 Linux 、Windows 10 和 macOS 上的安装
  • LeetCode 410. 分割数组的最大值
  • linux shell脚本 基础认识
  • 一文(10图)了解Cornerstone3D核心概念(万字总结附导图)
  • 牛客网-----跳石头
  • 用ChatGPT教学、科研!大学与OpenAI合作
  • 运维平台介绍:视频智能运维平台的视频质量诊断分析和告警中心
  • GAMES104-现代游戏引擎:从入门到实践 - 物理引擎课程笔记汇总
  • 【linux】Xorg的工作原理
  • 02-docker下部署seata
  • 回归预测 | Matlab实现GA-APSO-MBP、GA-MBP、MBP、BP多输入单输出回归预测
  • 精益生产咨询背后的秘密:企业如何实现价值最大化
  • 创建SERVLET
  • python算法与数据结构(搜索算法和拓扑排序算法)---深度优先搜索
  • thinkphp5实战之phpstudy v8环境搭建,解决Not Found找不到路径问题
  • fastjson-BCEL不出网打法原理分析
  • 部署mysql主从同步,部署mysql数据读写分离结构+mycat2
  • 【最新!超详细C++入门】
  • 【Linux】【实战系列】10 分钟掌握日常开发中 Linux 网络处理相关命令
  • 语义分割常用评价指标
  • 从0开始学习C++ 第一课:你的第一个C++程序
  • Dubbo-admin监控中心
  • 216. 组合总和 III - 力扣(LeetCode)
  • LeetCode-题目整理【5】:O(1) 时间插入、删除和获取随机元素