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

LeetCode--40.组合总和II

前言:如果你做出来了39题,但是遇到40题就不会做了,那我建议你去再好好缕清39题的思路,再来看这道题,会有种豁然开朗的感觉

解题思路:这道题其实与39题基本一致,所以本次题解是借着39题为基础来讲解的40题,故,看本次题解的前提是,会了39题

        1.获取信息:        

                与39题唯一的区别就是:

                (1)数组里面的数字不能在同一个组合中重复使用了

                (2)数组中会出现重复的数字了

        2.分析题目:

                与39题相比,只是变更了几个影响不大的条件,它的根本并没有改变,所以只需要对39题的代码进行适当修改就行了

                只需要把39题的代码中的,重复取同一个数字的步骤给去掉,再进行一些微调即可

        3.示例查验:略

        4.尝试编写代码:

                (1)39题优化后的代码,再进行一些步骤上的修改

                        思路:本次就辛苦你直接看代码及其注释,并且,好好对比一下,上一题和下一题的代码,我改了哪些东西

class Solution {
public:vector<vector<int>> combinationSum2(vector<int>& candidates, int target) {vector<int>cand(51,0);//这里修改成了存储int类型,而不是bool类型for(int&c:candidates){cand[c]++;}vector<int>path;vector<vector<int>>res;reBack(res,path,cand,target,1);return res;}
private:void reBack(vector<vector<int>>&res,vector<int>&path,vector<int>&cand,int les,int i){if(les==0){res.push_back(path);return;}for(i;i<=les;i++){if(i>les)return;if(cand[i]){path.push_back(i);cand[i]--;//多出来的步骤reBack(res,path,cand,les-i,i);cand[i]++;//多出来的步骤path.pop_back();}}}
};

本次题解到这里就完了,接下来绝对不会断更,暑假的时候可以期待一下哦

还是要动手写一写,不要只看题解

还是说,纸上得来终觉浅,绝知此事要躬行

http://www.dtcms.com/a/265645.html

相关文章:

  • 【ArcGIS Pro】属性表咋不能编辑了?
  • wvp-GB28181-pro 项目 ZLMediaKit 部署 (Centos7)
  • XILINX Ultrascale+ Kintex系列FPGA的架构
  • R语言开发记录,二(创建R包)
  • vue-37(模拟依赖项进行隔离测试)
  • 《导引系统原理》-西北工业大学-周军-“2️⃣导引头的角度稳定系统”
  • 定时点击二次鼠标 定时点击鼠标
  • Node.js中exports与module.exports区别
  • DPDK开发环境配置
  • SpringCloud系列(49)--SpringCloud Stream消息驱动之实现生产者
  • 《Spring 中上下文传递的那些事儿》 Part 1:ThreadLocal、MDC、TTL 原理与实践
  • 使用 Docker Swarm 部署高可用集群指南
  • 副作用是什么?
  • DQL-3-聚合函数
  • lspci查看PCI设备详细信息
  • linux常用命令(10):scp命令(远程拷贝命令,复制文件到远程服务器)
  • PlatformIO 在使用 GitHub 上的第三方库
  • Spark 4.0的VariantType 类型以及内部存储
  • 云上堡垒:如何用AWS原生服务构筑坚不可摧的主机安全体系
  • java教程——初识guava(2)
  • 在 React 中使用 WebSockets 构建实时聊天应用程序
  • 实训项目记录 | 7.3
  • AI会取代网络工程师吗?理解AI在网络安全中的角色
  • 【网络安全】Webshell命令执行失败解决思路
  • 如何避免服务器出现故障情况?
  • 数据库服务端有连接数限制吗
  • vue3 + cesium + heatmapjs 开发热力图(不需要CesiumHeatMap插件)
  • JA3指纹在Web服务器或WAF中集成方案
  • 在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
  • Element UI 完整使用实战示例