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

怎么搭建自己的网站微信公众号文章里好看的图片在哪个网站做

怎么搭建自己的网站,微信公众号文章里好看的图片在哪个网站做,河北省建设项目环境官网网站,中国电子商务平台题目 给定一个整型数组, 你的任务是找到所有该数组的递增子序列#xff0c;递增子序列的长度至少是2。 说明: 给定数组的长度不会超过15。 数组中的整数范围是 [-100,100]。 给定数组中可能包含重复数字#xff0c;相等的数字应该被视为递增的一种情况。 思考 这一题和le…题目 给定一个整型数组, 你的任务是找到所有该数组的递增子序列递增子序列的长度至少是2。 说明: 给定数组的长度不会超过15。 数组中的整数范围是 [-100,100]。 给定数组中可能包含重复数字相等的数字应该被视为递增的一种情况。 思考 这一题和leetcode 90. 子集 II 思考分析的思想有点像。 但是需要注意的是 1、该数组是求递增子序列所以不能打乱原数组的顺序。 2、递增子序列 3、递增子序列的长度最少是2 其它的思想回溯、去重其实和leetcode 90. 子集 II 思考分析是一样的。 对于上面两个问题我们可以这也解决 1、我们之前排序的是为了使相同的元素靠到一起然后通过判断元素是否出现过来去重 if(i start nums[i] nums[i-1]) continue;既然是判断元素是否出现过那么我们就可以使用哈希法注意这里判断的是解空间树本层是否出现重复元素所以去重操作仍然是在for循环中 unordered_setint set; for(int istart;iend;i) {//如果在本层重复使用了某个元素那么跳过if(set.find(nums[i])!set.end()) continue;set.insert(nums[i]);//剩下的回溯代码}2、递增序列如何判断 只要在本层for循环中检查该元素是否大于子序列的最后一个元素即可 //如果元素小于子序列的最后一个元素 if(res.size()1 nums[i]res[res.size()-1]) continue;注意这个continue操作应该在上一个哈希法去重之前。 3、递增子序列的长度最少是2在将res送入result之前先进行判断一下 if(res.size()2) result.push_back(res);至此我们这个问题就解决差不多了。 下面是整个代码 代码 注意这里的floor是为了调试看层数的所以可以不使用这个变量。 class Solution { public:vectorvectorint result;vectorint res;int floor0;void backtracking(vectorint nums,int start,int end){if(res.size()2) result.push_back(res);//剩余集合为空返回if(startend){return;}unordered_setint set;for(int istart;iend;i){//如果元素小于子序列的最后一个元素if(res.size()1 nums[i]res[res.size()-1]) continue;//如果在本层重复使用了某个元素if(set.find(nums[i])!set.end()) continue;set.insert(nums[i]);//coutnums[i]层数floorendl;//处理结点res.push_back(nums[i]);floor;//递归,探索下一层backtracking(nums,i1,end); //递归floor--;//回溯撤销处理结果res.pop_back();}return;}vectorvectorint findSubsequences(vectorint nums) {result.clear();res.clear();floor0;backtracking(nums,0,nums.size());return result;} };优化 对于本层元素是否重复使用我们使用了set题目中限定了数值范围[-100,100]所以可以用数组来做哈希表。 因为对set的insert操作需要做哈希映射相对耗费时间并且每次重新定义setinsert的底层符号表也要做扩充。 class Solution { public:vectorvectorint result;vectorint res;int floor0;void backtracking(vectorint nums,int start,int end){if(res.size()2) result.push_back(res);//剩余集合为空返回if(startend){return;}int usedArray[201]{0}; //这里使用数组来进行去重操作。for(int istart;iend;i){//如果元素小于子序列的最后一个元素if(res.size()1 nums[i]res[res.size()-1]) continue;//如果在本层重复使用了某个元素if(usedArray[nums[i]100] 1) continue;usedArray[nums[i]100] 1;//coutnums[i]层数floorendl;//处理结点res.push_back(nums[i]);floor;//递归,探索下一层backtracking(nums,i1,end); //递归floor--;//回溯撤销处理结果res.pop_back();}return;}vectorvectorint findSubsequences(vectorint nums) {result.clear();res.clear();floor0;backtracking(nums,0,nums.size());return result;} };
http://www.yutouwan.com/news/320296/

相关文章:

  • 国外 网站源码做网站硬件
  • 开网站建设公司心得公司网站 钓鱼网站
  • 手机好在百度做网站吗wap建站软件
  • 设计网站p站程序员开发网
  • 金融业反洗钱培训网站库存管理软件免费版
  • 个人网站备案备注信息产品营销
  • pc网站开发制作上海市建设厅网站
  • 合肥网站商城开发东莞企业网站推广多少钱
  • 质量好网站建设费用流量比对网站
  • 资源网站如何做关键词优化按天计费
  • 青岛建设官方网站wordpress整站迁移出现403
  • 公司电商网站建设方案模板创意营销点子
  • 重庆系统建站怎么用北京建网
  • 广州陈村网站建设毕业设计网站只做前端行不行
  • 遵义网站建设oadmin全球排行前50网站开发语言
  • 如何做期货培训网站WordPress4.8中文的把
  • 网站建设图片流程图做网站租服务器多少钱
  • 好的建设网站网络营销外包要多少钱
  • 烟台优化网站公司哪家好高端企业网站定制公司
  • 站长工具网站排名南京润盛建设集团有限公司网站
  • 横岗网站建设公司广告营销顾问
  • 查数据的权威网站国外设计师wordpress主题
  • 非凡网站开发培训免费crm手机版
  • 如何免费自己做网站wordpress 添加友情
  • 怎么做下载类的网站吗dedecms 调用 另一个网站
  • 免费做图表的网站网站建设套餐报价方案
  • 本溪网站开发公司电话wordpress 本机安装
  • 微信开放平台的功能介绍上海网站建设seo推广
  • 陕西高速公路建设集团网站合肥网站建设团队
  • 网站无内容 备案公司网站维护内容