专题三:穷举、暴搜、深搜、回溯、剪枝【递归、搜索、回溯】

news2024/11/25 5:25:18

1、全排列 

class Solution {
public:
    vector<vector<int>> ret;
    vector<int> path;
    bool check[7];

    void dfs(vector<int>& nums)
    {
        if(nums.size() == path.size()) 
        {
            ret.push_back(path);
            return;
        }
        for(int i = 0;i < nums.size();i++){
            if(check[i] == false)
            {
                path.push_back(nums[i]);
                check[i] = true;
                dfs(nums);
                //回溯
                path.pop_back();
                check[i] = false;
            }
        }
    }

    vector<vector<int>> permute(vector<int>& nums) {
        dfs(nums);
        return ret;
    }
};

 2、子集

解法一:根据每个元素选/不选来思考:  

解法二:根据元素个数来思考:

class Solution {
public:
    vector<int> path;
    vector<vector<int>> ret;
    vector<vector<int>> subsets(vector<int>& nums) {
        dfs(nums,0);
        return ret;
    }
    void dfs(vector<int>& nums,int pos)
    {
        ret.push_back(path);
        for(int i = pos;i < nums.size();i++){
            path.push_back(nums[i]);
            dfs(nums,i+1);
            path.pop_back();
        }
    }
};

 

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

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

相关文章

2023 年值得关注的软件测试趋势

随着软件在商业和日常生活中继续发挥关键作用&#xff0c;测试将不断发展以满足现代数字环境的需求。因此&#xff0c;组织努力更快、更频繁地交付他们的软件&#xff0c;并且测试过程需要更多地集成到开发过程中。 到2023年&#xff0c;我们可以看到各种软件测试趋势的出现&am…

轻游戏风格虚拟资源付费下载模板Discuz论坛模板

轻游戏风格虚拟资源付费下载模板Discuz论坛模板&#xff0c;游戏资讯付费VIP源码模板。 模板说明&#xff1a; 1、模板名称&#xff1a;"qing游戏风格"&#xff0c;版本支持&#xff1a;discuzx3.0版本&#xff0c;discuzx3.1版本&#xff0c;discuzx3.2版本&#…

4.查询用户的累计消费金额及VIP等级

思路分析&#xff1a; &#xff08;1&#xff09;按照user_id及create_date 分组求消费金额total_amount &#xff08;2&#xff09;开窗计算同user_id下的累计销售金额sum(total_amount) over(partition by user_id order by create_date ROWS BETWEEN UNBOUNDED PRECEDING AN…

报错——warning: ignoring JAVA_HOME=/home/jdk/jdk1.8.0_281; using bundled JDK

我使用了es的8.3.0版本&#xff0c;但es从7.17版本以后不再支持jdk1.8了&#xff0c;需要进行JDK的版本升级&#xff0c;或者降低es的版本。 es和jdk对比版本

口袋参谋:如何写出高权重标题?用对这招很重要!

​如何写出高权重标题&#xff1f;这是99.99%的卖家都存在的疑虑&#xff01; 以前写高权重标题&#xff0c;很多卖家往往会复制同行竞品爆款标题到淘宝首页搜索框&#xff0c;然后在全标题后面加上几个字母&#xff0c;就可以拆分爆款标题。 这个问题我之前也说过&#xff0…

【Java基础面试三】、说一说你对Java访问权限的了解

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说一说你对Java访问权限…

css3自动吸附scroll-snap

我们希望可以一块一块的滚动&#xff0c;比如当前一个块滚出去了一部分并且后一个块滚进来一部分的时候&#xff0c;实现后一个块自动滚入或者前一个块回弹到初始位置这种效果&#xff0c;以前的时候用js需要写比较复杂的判断逻辑&#xff0c;后来有了一个css scroll snap这个方…

Kotlin笔记(四):高阶函数

1. 高阶函数 1.1 定义高阶函数 高阶函数和Lambda的关系是密不可分的。一些与集合相关的函数式API的用法&#xff0c;如map、filter函数等,Kotlin的标准函数&#xff0c;如run、apply函数等。这几个函数有一个共同的特点&#xff1a;它们都会要求我们传入一个Lambda表达式作为参…

从虚拟电厂在上海的实践探索看企业微电网数字化的意义

安科瑞 华楠 作为典型的人口聚集、负荷密集区域&#xff0c;上海市具有外来电比例高、本地资源禀赋不足的特点。从发电侧角度来看&#xff0c;近年来上海风、光等新能源发电装机比例逐年提升&#xff0c;传统的火电逐渐成为调节性发电资源&#xff1b;从负荷侧角度来看上海以第…

什么是补丁管理,如何选择补丁管理软件

补丁管理是识别、测试、部署和安装软件补丁&#xff08;或更新&#xff09;到计算机的过程。软件补丁是一段代码&#xff0c;专为修复软件中的现有错误/漏洞、添加新功能或增强其安全性而量身定制。 通常&#xff0c;软件补丁管理过程包括扫描网络中的计算机以查找缺失的补丁&…

WATLOW CAS200 CLS216 释放人工智能(AI)能力用于导航

WATLOW CAS200 CLS216 释放人工智能(AI)能力用于导航 正如本周在自动化2019展示和会议&#xff0c;MiR1000可以在动态环境中自动拾取、运输和交付托盘和其他重达1000千克(2200磅)的重物。与2018年推出的MiR500一样&#xff0c;MiR1000旨在作为工厂车间叉车的协作、安全和灵活…

架构-设计原则

1、面向对象的SOLID 1.1 概述 SOLID是5个设计原则开头字母的缩写&#xff0c;其本身就有“稳定的”的意思&#xff0c;寓意是“遵从SOLID原则可以建立稳定、灵活、健壮的系统”。5个原则分别如下&#xff1a; Single Responsibility Principle&#xff08;SRP&#xff09;&am…

c++香甜的黄油(acwing)

农夫John发现了做出全威斯康辛州最甜的黄油的方法&#xff1a;糖。 把糖放在一片牧场上&#xff0c;他知道 N 只奶牛会过来舔它&#xff0c;这样就能做出能卖好价钱的超甜黄油。 当然&#xff0c;他将付出额外的费用在奶牛上。 农夫John很狡猾&#xff0c;就像以前的巴甫洛夫…

双十一购物指南:电视盒子哪个牌子好?口碑电视盒子品牌排行榜

双十一可以说是年度最低价&#xff0c;我们都会在此时买买买&#xff0c;电视盒子作为日常必备销量同样火爆&#xff0c;近来很多朋友咨询小编电视盒子哪个牌子好&#xff0c;因此我整理了用户评价最高的电视盒子品牌排行榜&#xff0c;看完就知道哪些电视盒子最值得买了。 推荐…

mysql优化(关联表查询效率低下问题)

场景:表A和表B关联 A.id B.a_id 查询,并用表A的字段create_time排序(查询条件附带between create_time) 造成结果:explain结果如下,(查询结果耗时长) 原因:尚不明确. 解决方案:给B的a_id字段加上索引(create index index_a_id on B(a_id)),就解决了一部分问题.查询速度提升上…

pg 时间操作方法

1.概念 本质就是个宏定义&#xff0c;只是动态的 2.常用使用形式和函数 current_date &#xff1a;当前时间 current_timestamp&#xff1a;时间戳&#xff0c;更细 date ‘当前日期’ &#xff1a;指定日期 age&#xff08;日期1&#xff0c;日期2&#xff09;&#xf…

OpenWrt如何公网ssh远程连接【内网穿透】

文章目录 1.安装cpolar内网穿透2.配置SSH远程访问隧道3.公网远程连接4.固定远程连接地址 简单几步实现openWRT结合cpolar内网穿透工具实现远程ssh连接 1.安装cpolar内网穿透 cpolar是一个非常棒的跨平台、内网穿透工具&#xff0c;可以通过安全隧道将NAT或防火墙后面的本地服…

“5G+北斗”赋能千行百业,中海达亮相2023中国移动全球合作伙伴大会

10月12日&#xff0c;2023中国移动全球合作伙伴大会在广州保利世贸博览馆召开。本次活动以“算启新程 智享未来”为主题&#xff0c;重点展示中国移动全球合作伙伴在5G、终端、数智城市等方面的新产品、新技术和新服务。作为中国移动“朋友圈”战略合作企业及“北斗时空子链”链…

Python实现简易过滤删除数字的方法

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 如果想从一个含有数字&#xff0c;汉字&#xff0c;字母的列表中滤除仅含有数字的字符&#xff0c; 当然可以采取正则表达式来完成&#xff0c;但是有点太麻烦了…