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

组合(DFS)

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。

你可以按 任何顺序 返回答案。

示例 1:

输入:n = 4, k = 2
输出:
[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],
]

示例 2:

输入:n = 1, k = 1
输出:[[1]]

提示:

  • 1 <= n <= 20
  • 1 <= k <= n

class Solution {vector<vector<int>> v;vector<int> path;
public:vector<vector<int>> combine(int n, int k) {dfs(n, 1, k);return v;}void dfs(int n, int i, int k){if(path.size() == k)  // 如果当前组合的大小为 k,保存当前组合v.push_back(path);for(; i <= n; i++){path.push_back(i);dfs(n, i+1, k);   // 递归选择下一个数字path.pop_back();  // 回溯,撤销选择,尝试下一个数字}}
};

一开始很不理解这类题,做多两道题后也能拿捏了

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

相关文章:

  • linux盘扩容缩容
  • mysql中REPLACE语句使用说明
  • 分享:文本转换工具:PDF转图片,WORD转PDF,WORD转图片
  • mac crontab 不能使用问题简记
  • Python 自动化测试应用
  • Python-安装与PyCharm的安装配置(1)
  • 操作系统概念(一)——IOMMU学习
  • 通过 Windows IIS 服务访问腾讯云 CFS 文件系统
  • 如何电脑连接电视,实现大屏自由!
  • 闭包的概念及使用场景介绍
  • qt5将程序打包并使用
  • 软件设计师-上午题-15 计算机网络(5分)
  • uniapp上拉刷新下拉加载
  • 【C++】【算法基础】快速排序
  • 数仓工具—Hive语法之窗口函数中的order by
  • 以旅游产品为例改写一篇系统架构风格的论文
  • 【Linux】linux编辑器-vim的命令及配置
  • 解决vite项目tailwindcss不生效!!(Vue3、tailwindcss失效)
  • ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装
  • Python世界:力扣题704二分查找
  • W55RP20-EVB-Pico评估板介绍
  • Flink安装和Flink CDC实现数据同步
  • 数字化转型助手 快鲸SCRM系统为企业营销赋能
  • 浅谈Agent
  • 绿色能源发展关键:优化风电运维体系
  • Sparrow系列拓展篇:对调度层进行抽象并引入IPC机制信号量
  • 天塌了!!!SQL竟也可以做预测分析?| 商品零售额的预测
  • VSCode本地C/C++环境配置
  • 【智能算法应用】淘金优化算法求解二维路径规划问题
  • Linux挖矿病毒(kswapd0进程使cpu爆满)