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

做直播网站需要哪些技术深圳网站建设专业乐云seo

做直播网站需要哪些技术,深圳网站建设专业乐云seo,开发小网站排名,做弹幕网站题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.fp688.cn/news/1069.html

相关文章:

  • 营口网站建设开发制作最经典的营销案例
  • 做公司网站和设计logo情感式软文广告
  • 企业网站建设规划书网站收录情况查询
  • 谈谈你对网站开发的理解竞价托管外包代运营
  • 用服务器做网站空间seo站内优化最主要的是什么
  • 深圳市网站建设公司设计seo网站推广的主要目的包括
  • 网站如何加后台win7优化
  • 做淘宝链接模板网站百度文库个人登录入口
  • 做外国网站成都网站建设软件
  • wordpress seo 设置小辉seo
  • 网站的中英文切换怎么做的苏州百度推广公司地址
  • 广西桂林农业学校厦门seo排名扣费
  • 如何手机网站建立百度信息流投放技巧
  • 水果网站推广购物网站推广方案
  • 莱芜做网站公司公众号软文怎么写
  • 做基金的网站哪个好网络营销属于哪个专业
  • wordpress后台路径郑州seo多少钱
  • 拉萨网站建设熊掌号全球访问量top100网站
  • 毛概课程网站建设国家免费职业技能培训
  • 网页制作平台软件上海seo公司哪家好
  • 海外房产网站建设如何做网站推广
  • 电商网站方案网络推广服务费
  • 郑州专业制作网站多少钱seo软件
  • 自己做网站 最好的软件下载河南网站推广
  • 独立创建网站真正免费的网站建站平台
  • 做网站点子如何进行app推广
  • 洛阳霞光营销型网站成都网站建设
  • 网站建设建网站百度极简网址
  • 恩施网站建设百度快照搜索
  • 网站设计与制作一般步骤seo最好的工具