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

2021半夜好用的网站电商网站开发框架

2021半夜好用的网站,电商网站开发框架,网站降权原因,长岛网站建设个人主页#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题【 http://t.csdnimg.cn/yUl2I 】【C】 【 http://t.csdnimg.cn/6AbpV 】数据结构与算法【 http://t.csdnimg.cn/hKh2l 】 前言#xff1a;这个专栏主要讲… 个人主页元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题【  http://t.csdnimg.cn/yUl2I   】【C】          【  http://t.csdnimg.cn/6AbpV 】数据结构与算法【  http://t.csdnimg.cn/hKh2l  】 前言这个专栏主要讲述递归递归、搜索与回溯算法所以下面题目主要也是这些算法做的   我讲述题目会把讲解部分分为3个部分 1、题目解析 2、算法原理思路讲解 3、代码实现 子集 题目链接子集 题目 给你一个整数数组 nums 数组中的元素 互不相同 。返回该数组所有可能的子集幂集。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1 输入nums [1,2,3] 输出[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2 输入nums [0] 输出[[],[0]]提示 1 nums.length 10-10 nums[i] 10nums 中的所有元素 互不相同 解法 题目解析 题目意思很简单给我们一个数组返回其 所有可能的子集 示例 1 输入nums [1,2,3] 输出[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 算法原理思路讲解     解法一 为了获得 nums 数组的所有⼦集我们需要对数组中的每个元素进⾏选择或不选择的操作即nums 数组⼀定存在 【2^数组⻓度】 个⼦集。对于查找⼦集具体可以定义⼀个数组来记录当前的状态并对其进⾏递归。对于每个元素有两种选择1. 不进⾏任何操作2. 将其添加⾄当前状态的集合。在递归时我们需要保证递归结束时当前的状态与进⾏递归操作前的状态不变⽽当我们在选择进⾏步骤 2 进⾏递归时当前状态会发⽣变化因此我们需要在递归结束时撤回添加操作即进⾏回溯。 一、画出决策树 ​ 决策树就是我们后面设计函数的思路 二、设计代码 1全局变量 vectorvectorint ret;vectorint path; 2设计递归函数 void dfs(vectorint nums, int pos); 递归流程如下 递归结束条件如果当前需要处理的元素下标越界则记录当前状态并直接返回 在递归过程中对于每个元素我们有两种选择 不选择当前元素直接递归到下⼀个元素 选择当前元素将其添加到数组末尾后递归到下⼀个元素然后在递归结束时撤回添加操作 所有符合条件的状态都被记录下来返回即可。 解法二  一、画出决策树 决策树就是我们后面设计函数的思路 二、设计代码 1全局变量 vectorvectorint ret;vectorint path; 1.递归函数头设计 void dfs(vectorint nums, int pos); 参数nums 数组pos 在数组中的位置  递归流程如下 在递归过程中对于每个元素我们只能向后选择 选择当前元素将其添加到数组末尾后递归到下⼀个元素然后在递归结束时撤回添加操作也即是回溯所有符合条件的状态都被记录下来返回即可。 代码实现 解法一 时间复杂度O(n×2^n)。一共 2^n个状态每种状态需要 O(n) 的时间来构造子集。 空间复杂度O(n)。临时数组 t 的空间代价是 O(n)递归时栈空间的代价为 O(n)。 class Solution {vectorvectorint ret;vectorint path; public:void dfs(vectorint nums, int pos){if(pos nums.size()){ret.push_back(path);return;}// 选path.push_back(nums[pos]);dfs(nums, pos 1);path.pop_back(); // 恢复现场// 不选dfs(nums, pos 1);}vectorvectorint subsets(vectorint nums) {dfs(nums, 0);return ret;}}; 解法二 class Solution {vectorvectorint ret;vectorint path;public:vectorvectorint subsets(vectorint nums) {dfs(nums, 0);return ret;}void dfs(vectorint 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.yutouwan.com/news/178190/

相关文章:

  • 汕头网站建设模板做网站用什么软件最好
  • 没有公司可以做网站吗网页设计素材怎么保存到文件夹
  • 网站构造下拉列表怎么做晋江网友交流区网站
  • 做视频的网站深圳网站建设明细报价表
  • 西安做网站微信公司哪家好Wordpress文章两级审核
  • seo快速整站上排名教程wordpress docker
  • 用户后台网站中铁局哪个局实力最大
  • 网站seo批量查询工具域名买好后怎么建设网站
  • 免费做试卷的网站龙岩做网站开发大概价格
  • 网站建设公司招人本溪市城乡住房建设厅网站
  • 金溪县建设局网站建设网站需要多长时间
  • 关于做网站的书籍wordpress中文主题排行
  • 网站 头尾调用北京免费建站
  • iis提示网站建设中福建工程建设管理中心网站
  • 企业展示网站模板免费下载基于漏斗模型网站关键路径分析
  • 易读网站建设网络搭建结构图
  • wordpress 图文插件泰州seo排名扣费
  • 做图片可以卖给那些网站天津软件优化公司排名前十
  • 网站开发常用工具营销推广的特点
  • 网站设计模板之家怎么制作游戏app软件
  • erp开发和网站开发怎么备份wordpress网站
  • 网站上的格式用html怎么做wordpress数据库软件
  • 如何做网站数据分析织梦网站定制
  • 关于学院网站建设的通知广东网站建设设计服务
  • 红酒网站源码什么软件制作图片
  • 建站之星免费官方网站建设专业公司
  • 公司网站地址至设计网站
  • 大连建设网节能办公室网站成都app
  • 在哪个网站可以查做项目中标的互联网门户网站
  • 郑州豆芽网站建设网站关键字优化工具