代码随想录算法训练营第36期DAY28

DAY28

216组合总和-iii

未剪枝,注意i=startindex开始:

  1. class Solution {
  2. private:
  3.     vector<vector<int>> result;
  4.     vector<int> path;
  5.     void backtracking(int k,int sum,int targetsum,int startindex){
  6.         if(path.size()==k){
  7.             if(sum==targetsum){
  8.                 result.push_back(path);
  9.             }
  10.             return;
  11.         }
  12.         for(int i=startindex;i<=9;i++)
  13.         {
  14.             sum+=i;
  15.             path.push_back(i);
  16.             backtracking(k,sum,targetsum,i+1);
  17.             sum-=i;
  18.             path.pop_back();
  19.         }
  20.         return ;
  21.     }
  22. public:
  23.     vector<vector<int>> combinationSum3(int k, int n) {
  24.         result.clear();
  25.         path.clear();
  26.         backtracking(k,0,n,1);
  27.         return result;
  28.     }
  29. };

剪枝版:

  1. class Solution {
  2. private:
  3.     vector<vector<int>> result;
  4.     vector<int> path;
  5.     void backtracking(int k,int sum,int targetsum,int startindex){
  6.         if(path.size()==k){
  7.             if(sum==targetsum){
  8.                 result.push_back(path);
  9.             }
  10.             return;
  11.         }
  12.         for(int i=startindex;i<=9-(k-path.size())+1;i++)
  13.         {
  14.             sum+=i;
  15.             path.push_back(i);
  16.             if(sum>targetsum){
  17.             sum-=i;
  18.             path.pop_back();
  19.             return;
  20.             }
  21.             backtracking(k,sum,targetsum,i+1);
  22.             sum-=i;
  23.             path.pop_back();
  24.         }
  25.         return ;
  26.     }
  27. public:
  28.     vector<vector<int>> combinationSum3(int k, int n) {
  29.         result.clear();
  30.         path.clear();
  31.         backtracking(k,0,n,1);
  32.         return result;
  33.     }
  34. };

17电话号码的字母组合

  1. class Solution {
  2. private:
  3.     vector<stringmap={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
  4.     vector<string> result;
  5.     string s;
  6.     void backtracking(string digits,int index){
  7.         //待二刷
  8.         if(index==digits.size()){
  9.             result.push_back(s);
  10.             return ;
  11.         }
  12.         int digit=digits[index]-'0';
  13.         string letters=map[digit];
  14.         for(int i=0;i<letters.size();i++){
  15.             s.push_back(letters[i]);
  16.             backtracking(digits,index+1);
  17.             s.pop_back();
  18.         }
  19.     }
  20. public:
  21.     vector<stringletterCombinations(string digits) {
  22.         s.clear();
  23.         result.clear();
  24.         if(digits.size()==0){
  25.             return result;
  26.         }
  27.         backtracking(digits,0);
  28.         return result;
  29.     }
  30. };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python模拟QQ聊天的代码

以下是一个简单的Python模拟QQ聊天的代码示例&#xff1a; python # 导入QQ消息包 import tqq # 创建QQ客户端对象 client tqq.TQQClient() # 连接QQ服务器 client.connect("你的QQ号码", "你的QQ密码") # 创建一个QQ会话对象 session client.session() …

绩效管理的工具和方法有哪些?

绩效管理是组织和个人为达成目标而共同参与的一个持续循环过程&#xff0c;其目的是持续提升个人、部门和组织的绩效。为实现这一目标&#xff0c;绩效管理采用了一系列工具和方法。 其中&#xff0c;平衡计分卡是一种战略管理系统&#xff0c;也是一种绩效管理的理论框架。它将…

python的数据类型和变量

python的数据类型和变量 变量 变量使用变量名来表示, 变量名由字母、下划线和数字组成&#xff0c;首字母不能是数字 na 1 An 1变量是内存空间的引用&#xff0c;所以变量可以指向任何对象 所以python的是左边变量指向了右边对象的内存 x 1 y hello x y y world prin…

c++高级篇(一) —— 初识Linux下的进程控制

linux的信号 信号的概念 在Linux中&#xff0c;信号是一种用于进程间通信和处理异步事件的机制&#xff0c;用于进程之间相互传递消息和通知进程发生了事件&#xff0c;但是&#xff0c;它不能给进程传递任何数据。 信号产生的原因有很多种&#xff0c;在shell中&#xff0c…

每日两题 / 437. 路径总和 III 105. 从前序与中序遍历序列构造二叉树(LeetCode热题100)

437. 路径总和 III - 力扣&#xff08;LeetCode&#xff09; 前序遍历时&#xff0c;维护当前路径&#xff08;根节点开始&#xff09;的路径和&#xff0c;同时记录路径上每个节点的路径和 假设当前路径和为cur&#xff0c;那么ans 路径和(cur - target)的出现次数 /*** D…

fastjson_1.2.24和Shiro(CVE-2016-4437)漏洞复现

文章目录 一、fastjson 1.2.24远程命令执行漏洞复现二、shiro反序列化漏洞(CVE-2016-4437)1、Shiro漏洞原理2、手工验证漏洞3、使用ShiroAttack2 一、fastjson 1.2.24远程命令执行漏洞复现 配置环境&#xff1a;本机java 8环境 kali操作系统&#xff08;java8&#xff09; c…

webapi路由寻址机制

路由匹配的原则 1、启动 Application_Start 文件夹中有个WebApiConfig 会把路由规则写入一个容器 2、客户端请求时&#xff1a; 请求会去容器匹配&#xff0c;先找到控制器&#xff08;找到满足的&#xff0c;就转下一步了&#xff09;&#xff0c;然后找Action&#xff0c;we…

被动防护不如主动出击

自网络的诞生以来&#xff0c;攻击威胁事件不断涌现&#xff0c;网络攻防对抗已然成为信息时代背景下的一场无硝烟的战争。然而&#xff0c;传统的网络防御技术&#xff0c;如防火墙和入侵检测技术&#xff0c;往往局限于一种被动的敌暗我明的防御模式&#xff0c;面对攻击者无…

第四届辽宁省大学生程序设计竞赛

比赛经历&#xff1a;2024.5.14简单vp了一个小时只写出了签到题4个然后跑路了 补题&#xff1a;感觉其他题有点太抽象了主要补了一题&#xff0c;在区间问题中数据结构的使用 比赛链接[点我即可] 目录 A.欢迎来到辽宁省赛 B.胜率 F.隔板与水槽 H.取石子 L.区间与绝对值 …

NMACDR:基于邻居交互增强和多头注意力机制的跨域推荐模型

基于邻居交互增强和多头注意力机制的跨域推荐模型 湖北民族大学学报-孙克雷、汪盈盈-2023 思路 针对基于映射的跨域推荐模型没有充分关注源域中数据稀疏的用户,导致用户偏好的迁移效率降低的问题,提出本文。 首先,利用邻居用户的交互来增强源域中数据稀疏用户的交互序列,…

RS422一主多从MAX3490

RS422一主多从MAX3490 最近项目用到了RS422一主多从&#xff0c;一个主机4个从机。芯片用的MAX3490&#xff0c;几经折腾&#xff0c;最终只能从一拖4改为一拖2。 主机发送端&#xff0c;从机4个接收端都是正常的&#xff0c;没有问题。波形非常完美&#xff0c;没有太大变形 …

回溯算法(Backtracking Algorithm)

回溯算法&#xff08;Backtracking Algorithm&#xff09;是一种试探性的解决问题方法&#xff0c;主要用于解决约束满足问题。这类问题通常存在多个可能的解&#xff0c;且解的空间可以被形式化地表示出来。回溯算法通过逐步构造候选解并检验其合法性的方式来探索解空间&#…

2024制造行业面临的数字挑战

1、市场环境变化频繁 受国际关系、疫情爆发等意外事件影响&#xff0c;需求端和供应端都充满了不确定性&#xff0c;数据信息的传递和透明就显得尤为重要。 2、产能原料浪费严重 过程管控和数据传递的缺失和不及时导致工厂生产现场异常频发&#xff0c;质量水平低下以及生产产…

uni-segmented-control插件使用

dcloud插件市场 前端/uniapp 1.HBuildX打开目标项目 2.进入dcloud插件市场下载目标插件 3.看到如下提示(已经可以在目标项目中使用插件啦) 4.项目正式使用

分享一些人生道理,希望能对大家有所帮助!

1. 别总想出风头&#xff0c;炫耀就是深渊&#xff0c;贪心就是毁灭&#xff0c;人性的恶一旦被激发&#xff0c;后果不堪设想。 2. 戒取怨之言&#xff1a;不要说招人怨恨的话&#xff0c;播下使人怨恨的种子。 3. 学会感恩&#xff0c;因为感恩能够让你更加幸福。 4. 玉碎不能…

自动驾驶占据感知的综述:信息融合视角

24年5月香港理工的论文“A Survey on Occupancy Perception for Autonomous Driving: The Information Fusion Perspective“。 3D 占据感知技术旨在观察和理解自动驾驶车辆的密集 3D 环境。该技术凭借其全面的感知能力&#xff0c;正在成为自动驾驶感知系统的发展趋势&#x…

JSPfilters过滤技术

1.创建动态web项目 2.创建filters的文件 3.创建主页面 4.配置xml项目 总结构 主页面代码 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%><!DOCTYPE html><html><head><meta cha…

linux系统配置之单一网卡配置多个不同网段IP(centos)

linux系统配置之单一网卡配置多个不同网段IP&#xff08;centos&#xff09; 1、用root权限的用户登录CENTOS&#xff0c;进入network-scripts文件夹下&#xff08;本步骤可以省略&#xff0c;与二步骤一起完成&#xff09;&#xff1a; shell命令&#xff1a;cd /ect/syscon…

力扣刷题--数组--第五天

昨天做了几道关于双指针求解的算法题&#xff0c;今天继续看相关的题目。 844. 比较含退格的字符串 给定 s 和 t 两个字符串&#xff0c;当它们分别被输入到空白的文本编辑器后&#xff0c;如果两者相等&#xff0c;返回 true 。# 代表退格字符。   注意&#xff1a;如果对空…

idea2023.3.2版本全局设置maven地址

idea每次新建项目都默认使用了一个user目录下的地址&#xff0c;而不是自己安装的maven地址&#xff0c;每次创建项目后&#xff0c;都要重新从settings中设置一下maven地址。 可以全局修改&#xff1a;首先在File-->Close Project回到idea最开始的界面 然后在Customize里点…