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

简单回溯(组合力扣77)

77. 组合 - 力扣(LeetCode)

class Solution {
private:
    vector<vector<int>> result;
    vector<int> path;
    void backtracking(int n, int k, int start){
        if(path.size() == k) {
            result.push_back(path);
            return;
        }
        for(int i = start; i <= n; i++) {
            path.push_back(i);
            backtracking(n, k, i+1);
            path.pop_back();
        }
    }
public:
    vector<vector<int>> combine(int n, int k) {
        backtracking(n, k, 1);
        return result;
    }
};

理解: 回溯函数里面的第一次for循环相当于确定组合里面第一个数,对于第一个例子来说,可能是1,2,3,4,然后对于每一个在进行下一步选择第二个数是什么,第二个数的选择是从目前i的下一个进行选择,例如1的话下一个就是2,选择2之后退出,弹出2,再选3,弹出3,选4,弹出4,这样就收集了第一个为1的所有情况[1,2][1,3][1,4],然后再进行选2的时候以此类推。

相关文章:

  • OpenCV 图形API(22)矩阵操作
  • SAP Overview
  • 淘宝 API 高并发优化:突破 QPS 限制的分布式爬虫架构设计
  • java导入excel更新设备经纬度度数或者度分秒
  • UTF-8和GBK编码的区别和详细解释
  • Unity Input 2023 Release-Notes
  • 数据结构第六章(一) -图
  • Dynamics 365 Business Central VS Code AL 开发 多语言的支持
  • Linux系统远程操作和程序编译
  • Spring Boot 国际化配置项详解
  • STM32单片机入门学习——第27节: [9-3] USART串口发送串口发送+接收
  • 【算法手记11】NC41 最长无重复子数组 NC379 重排字符串
  • 质数筛(循环遍历,埃氏筛法,欧拉筛法)
  • 多线程编程:提高程序效率与响应性
  • Plusar集群搭建-Ubuntu20.04-Winterm
  • 容器化技术
  • AJAX简介
  • 漫画 Coco AI——打造跨平台、定制化搜索与 AI 智能问答体验
  • tradingview 隐藏按钮,隐藏菜单,
  • QML面试笔记--UI设计篇05容器控件
  • 烈士沈绍藩遗孤、革命家帅孟奇养女舒炜逝世,享年96岁
  • 中国证监会印发2025年度立法工作计划
  • “降息潮”延续!存款利率全面迈向“1时代”
  • 七方面118项任务,2025年知识产权强国建设推进计划印发
  • 98岁动物学家、北京大学教授杨安峰逝世
  • 上海“随申兑”服务平台有哪些功能?已归集800余个惠企政策