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

[代码随想录21回溯]组合问题,电话号码的字母组合问题

前言

 回溯的提出是解决循环问题,回溯的提出就是为了解决排列和组合问题,以及多层遍历问题,因为如果遍历的层数越多我们的效率就会越低,回溯加上剪枝能很好解决这个问题。

题目链接

77. 组合 - 力扣(LeetCode)

216. 组合总和 III - 力扣(LeetCode)

17. 电话号码的字母组合 - 力扣(LeetCode)

一、组合

 思路:规定一个路径集合,和一个结果集合,用if去判断路径,用for循环去横向和纵向去加载路径。

剪枝优化的思路:去除掉无效的长度。

private:vector<vector<int>> res;vector<int>path;void backtrancing(int n,int k,int startIndex){if(path.size()==k){res.push_back(path);return;}for(int i=startIndex;i<=n;i++){path.push_back(i);backtrancing(n,k,i+1);path.pop_back();}}
public:vector<vector<int>> combine(int n, int k) {backtrancing(n,k,1);return res;}
private:vector<vector<int>> res;vector<int>path;void backtrancing(int n,int k,int startIndex){if(path.size()==k){res.push_back(path);return;}//剪枝优化一下for(int i=startIndex;i<=n-(k-path.size())+1;i++){path.push_back(i);backtrancing(n,k,i+1);path.pop_back();}}
public:vector<vector<int>> combine(int n, int k) {backtrancing(n,k,1);return res;}

 

二、组合总和

 思路:

三、电话号码的字母组合

思路:


http://www.mrgr.cn/news/80760.html

相关文章:

  • Deepseek模拟阿里面试——数据库
  • PySpark查找Dataframe中的非ASCII字符并导出Excel文件
  • Record-Mode 备案免关站插件,让 WordPress 备案不影响 SEO 和收录
  • 自学人工智能大模型,满足7B模型的训练和微调以及推理,预算3万,如何选购电脑
  • 腾讯云大数据套件TBDS与阿里云大数据能力产品对比
  • 使用 AlexNet 实现图片分类 | PyTorch 深度学习实战
  • 制作一个简单的图片预览
  • python学opencv|读取图像(十六)修改HSV图像HSV值
  • 管理系统、微信小程序类源码文档-哔哩哔哩教程同步
  • 西游记战力排名、笔记等
  • pro文件转换为CMakeLists.txt文件,QT官方工具使用教程
  • 【云原生】Docker Compose 从入门到实战使用详解
  • 唯品会C++面试题及参考答案
  • FreeMarker语法
  • Restaurants WebAPI(二)——DTO/CQRS
  • 17.springcloud_openfeign之扩展组件一
  • 2024.12.19总结
  • SamOut 推理空间不变模型解析
  • [SZ901]程序固化工具速度对比
  • 【Maven】基础(一)
  • 排序算法深度好文(图解 + 代码解析 + 误区 QA )——学排序看这一篇就够了!!!
  • 洛谷P3879 [TJOI2010] 阅读理解(c嘎嘎)
  • 【CSS in Depth 2 精译_085】14.2:CSS 蒙版的用法
  • 无刷电机的概念
  • Linux:进程通信、管道通信
  • PYQT5程序框架