C++ | Leetcode C++题解之第40题组合总和II

news/2024/9/23 9:25:36/

题目:

题解

class Solution {
private:vector<pair<int, int>> freq;vector<vector<int>> ans;vector<int> sequence;public:void dfs(int pos, int rest) {if (rest == 0) {ans.push_back(sequence);return;}if (pos == freq.size() || rest < freq[pos].first) {return;}dfs(pos + 1, rest);int most = min(rest / freq[pos].first, freq[pos].second);for (int i = 1; i <= most; ++i) {sequence.push_back(freq[pos].first);dfs(pos + 1, rest - i * freq[pos].first);}for (int i = 1; i <= most; ++i) {sequence.pop_back();}}vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {sort(candidates.begin(), candidates.end());for (int num: candidates) {if (freq.empty() || num != freq.back().first) {freq.emplace_back(num, 1);} else {++freq.back().second;}}dfs(0, target);return ans;}
};

http://www.ppmy.cn/news/1434951.html

相关文章

【学习笔记二十六】EWM 盘点后台配置和前台演示

一、EWM盘点业务概述 SAP EWM(Extended Warehouse Management)模块中的盘点业务是一个关键流程,它允许企业对仓库中的库存进行实物清点,以确保系统中记录的数据与实际库存相符。盘点过程有助于企业识别库存差异,从而进行必要的库存调整,确保库存记录的准确性,这对于财务…

找对方法,单位信息宣传工作向媒体投稿其实也简单

曾经,作为一名肩负单位信息宣传重任的我,每当面对那堆叠如山的稿件与闪烁不定的电脑屏幕,心中总会涌起一股无尽的焦虑与疲惫。尤其在向媒体投稿这个环节,我仿佛陷入了一个难以挣脱的漩涡,邮箱投稿的艰辛、审核的严苛、出稿的迟缓以及成功发表的少之又少,如同一座座无形的大山压…

linux内核网络源码-用户空间与内核的接口

内核通过各种不同的接口把内部信息输出到用户空间&#xff0c;除了程序员用于请求特定信息的经典系统调用外&#xff0c;还有三个特殊接口&#xff0c;而其中两个是虚拟文件系统&#xff1a; procfs 文件系统 这是一个虚拟文件系统&#xff0c;通过是挂在proc ,允许内核以文件的…

2. 多机多卡运行nccl-tests对比分析

系列文章 第2章 多机多卡nccl-tests 对比分析 目录 系列文章前言一、本地环境1. 网卡接口2. RDMA3. TOPO信息pcie信息nvidia-smi topo -m 二、nccl-test对比分析1. 相关环境变量2. 不同情况的对比3. 总结与分析 前言 NCCL&#xff08;NVIDIA Collective Communications Libra…

论文浅尝 | QA-GNN:结合语言模型与知识图谱进行问答推理

笔记整理&#xff1a;项卓怡&#xff0c;浙江大学硕士&#xff0c;研究方向为生化大模型。 链接&#xff1a;https://arxiv.org/abs/2104.06378 Code&#xff1a;https://github.com/michiyasunaga/qagnn Citation: Yasunaga M, Ren H, Bosselut A, et al. QA-GNN: Reasoning w…

lock_icon_container LockIconContainer的显示

LockIconContainer 是直接在super_notification_shade.xml 里面的&#xff1a; lock_icon_container <?xml version"1.0" encoding"utf-8"?> <!-- This is the notification shade window. --> <com.android.systemui.statusbar.phone.…

【Linux系统编程】第五弹---基本指令(三)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、grep指令 2、zip/unzip指令 3、tar指令 4、bc指令 5、uname指令 6、重要的几个热键 7、拓展指令 总结 1、grep指令 …

[RTOS 学习记录] 复杂工程项目的管理

[RTOS 学习记录] 复杂工程项目的管理 这篇文章是我阅读《嵌入式实时操作系统μCOS-II原理及应用》后的读书笔记&#xff0c;记录目的是为了个人后续回顾复习使用。 前置内容&#xff1a; 工程管理工具make及makefile 文章目录 1 批处理文件与makefile的综合使用1.1 批处理文件…