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

个人怎么做旅游网站360优化大师旧版本

个人怎么做旅游网站,360优化大师旧版本,连城县住房和城乡建设局 网站,什么是垂直型网站题1: 指路:491. 非递减子序列 - 力扣(LeetCode) 思路与代码: 对于这个题我们应该想起我们做过的子集问题,就是在原来的问题上加一个去重操作。我们用unordered_set集合去重,集合中使用过的元…

题1:

指路:491. 非递减子序列 - 力扣(LeetCode)
思路与代码:

对于这个题我们应该想起我们做过的子集问题,就是在原来的问题上加一个去重操作。我们用unordered_set集合去重,集合中使用过的元素,我们要对结果集进行横向去重:集合中有的元素就已经被用过,弃之。代码如下:

class Solution {private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& nums, int startIndex) {if (path.size() >= 2 && path.size() <= nums.size()) {result.push_back(path);}unordered_set<int> uset;  // 元素去重集合    for (int i = startIndex; i < nums.size(); i++) {if ((!path.empty() && nums[i] < path.back())|| uset.find(nums[i]) != uset.end())continue;uset.insert(nums[i]);path.push_back(nums[i]);backtracking(nums, i + 1);path.pop_back();  }}
public:vector<vector<int>> findSubsequences(vector<int>& nums) {backtracking(nums, 0);return result;}
};

题2:

指路:46. 全排列 - 力扣(LeetCode)
思路与代码:

排列与组合的不同点在于:组合无顺序,排列有顺序。例如:[1, 2, 3] 和[3, 2, 1],对于组合来说二者无区别,对于排列来说,二者有区别。所以这也是单层循环逻辑中的不同所在:我们每次从数组i = 0的地方开始遍历,如果遇到未遍历过的元素则加入路径集,反之如果是已经遍历过的元素则跳过本轮循环继而寻找下一元素。其中,我们用used数组来标识元素是否用过。初始化为false,用过则赋值为true。最终当路径集大小与原数组集相等时加入最终结果集。代码如下:

class Solution {private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& nums, vector<bool> &used) {if (path.size() == nums.size()) {result.push_back(path);return ;}for (int i = 0; i < nums.size(); i++) {  // 0开始,全排列if (used[i] == true) continue;  // 用过的元素跳过,直接取下一个元素used[i] = true;path.push_back(nums[i]);backtracking(nums, used);used[i] = false;  // 回溯path.pop_back();}}
public:vector<vector<int>> permute(vector<int>& nums) {vector<bool> used(nums.size(), false);backtracking(nums, used);return result;}
};

题3:

指路:47. 全排列 II - 力扣(LeetCode)
思路与代码:

相似于上题排列,本题不同点在于有了重复元素,这就意味着会出现重复子序列,所以需要我们做的就是去重。相似于组合总和Ⅱ的去重操作。我们将数组排序得到一个升序数组,如果相邻两个元素相等时,只需要得到一个数的子序列即可。代码如下:

class Solution {private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& nums, vector<bool>& used) {if (path.size() == nums.size()) {result.push_back(path);return ;}for (int i = 0; i < nums.size(); i++) {if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == false) continue;if (used[i]  == false) {used[i] = true;path.push_back(nums[i]);backtracking(nums, used);path.pop_back();used[i] = false;}}}
public:vector<vector<int>> permuteUnique(vector<int>& nums) {vector<bool> used (nums.size(), false);sort(nums.begin(), nums.end());backtracking(nums, used);return result;}
};

http://www.yidumall.com/news/1774.html

相关文章:

  • 邯郸形象网站建设google play商店
  • 做网站需要公司乐陵seo优化
  • 怎么制作个人作品网站手机优化大师下载2022
  • 郑州专业的网站建设公司排名2345网址导航手机版
  • 专门做985招聘信息的网站百度账户代运营
  • 抖音里做我女朋友网站全球网站流量排名100
  • 公司网站维护与更新三亚百度推广地址
  • 网站制作业务广州网络运营课程培训班
  • 如何wix 做 网站郑州做网站公司有哪些
  • 杭州黑马程序员培训机构怎么样seo优化自学
  • 网站根目录willfast优化工具下载
  • 沈阳做网站优化哪家好爱站工具网
  • 科讯cms制作网站完整教程seo网站推广公司
  • 网站编程教学中国国家培训网官网
  • 网站建设属于营业范围里的哪一项常德seo公司
  • 小程序官网入口seo诊断分析工具
  • 烟台网站开发多少钱企业推广网络营销
  • 台州建设银行官方网站汕头网站建设方案外包
  • 视频网站可以做B2C模式吗武汉网站seo推广
  • 用wordpress建站自己可以做网站吗
  • 中小型网站开发搜索引擎关键词快速优化
  • 电脑上如何做课程视频网站张家口网站seo
  • 专业做网站企业最新热点新闻
  • 北京做网站建设价格优化大师卸载不了
  • 电子商务网站建设的目标沈阳seo排名优化教程
  • 做网站还是做业务员西地那非片说明书
  • 最新网站架构网络营销出来做什么
  • 哪里有做阿里网站的百度接单平台
  • 简单的网站怎样做20条优化措施
  • 化德网站建设2024年1月新冠高峰