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

深圳网站建设 诺骐网php反向代理 Wordpress

深圳网站建设 诺骐网,php反向代理 Wordpress,宁波抖音seo公司,google chrome目录 一、题目描述 方法一、直接回溯哈希表 方法二、二进制枚举数组哈希 方法三、递归枚举 一、题目描述 491. Non-decreasing Subsequences 方法一、直接回溯哈希表 class Solution {vector<vector<int>> res;vector<int> aseq; public:vector<vec…

目录

一、题目描述

方法一、直接回溯+哈希表

方法二、二进制枚举+数组哈希

方法三、递归枚举


一、题目描述

491. Non-decreasing Subsequences

方法一、直接回溯+哈希表

class Solution {vector<vector<int>> res;vector<int> aseq;
public:vector<vector<int>> findSubsequences(vector<int>& nums) {backtracking(nums,0);return res;}void backtracking(vector<int>& nums,int start){if(aseq.size()>=2){res.push_back(aseq);}unordered_set<int> used_set;for(int i = start;i < nums.size();i++){if(aseq.size()>0 && aseq.back() >nums[i])continue;if(used_set.contains(nums[i]))continue;used_set.insert(nums[i]);aseq.push_back(nums[i]);backtracking(nums,i+1);aseq.pop_back();}}
};

由于题目保证-100<=nums[i]<=100,去重的哈希表也可以用数组来实现。

class Solution {vector<vector<int>> res;vector<int> aseq;
public:vector<vector<int>> findSubsequences(vector<int>& nums) {backtracking(nums,0);return res;}void backtracking(vector<int>& nums,int start){if(aseq.size()>=2){res.push_back(aseq);}vector<bool> used_set(201,false);for(int i = start;i < nums.size();i++){if(aseq.size()>0 && aseq.back() >nums[i])continue;if(used_set[nums[i]+100])continue;used_set[nums[i]+100] = true;aseq.push_back(nums[i]);backtracking(nums,i+1);aseq.pop_back();}}
};

方法二、二进制枚举+数组哈希

class Solution {
public:vector<vector<int>> findSubsequences(vector<int>& nums) {vector<vector<int>> res;vector<int> aseq;int n = nums.size();int m = 1<<n;unordered_set<int> seq_set;for(int mask = 0;mask < m;mask++){aseq.clear();for(int i = 0;i < n;i++){if(mask & (1<<i)){if(aseq.size() >0 && aseq.back() >nums[i])continue;aseq.push_back(nums[i]);}}if(aseq.size()<2)continue;int seq_id = hash_func(aseq);if(seq_set.contains(seq_id))continue;seq_set.insert(seq_id);res.push_back(aseq);}return res;}int hash_func(vector<int> &seq){int mod = int(1e9)+7;int base = 263;int n = seq.size();int res = 0;for(int i = 0;i <n;i++){res = 1LL*res*base%mod + (seq[i]+101);res %=mod;}return res;}
};

方法三、递归枚举

class Solution {vector<vector<int>> res;vector<int> aseq;unordered_set<int> seq_set;
public:vector<vector<int>> findSubsequences(vector<int>& nums) {dfs(nums,0,INT_MIN);return res;}void dfs(vector<int>& nums,int index,int last){if(index == nums.size()){if(aseq.size() >= 2){res.push_back(aseq);}return;}if(nums[index] >= last){aseq.push_back(nums[index]);dfs(nums,index+1,nums[index]);aseq.pop_back();}if(nums[index]!=last){dfs(nums,index+1,last);}}
};

如果难以理解上面去重的逻辑,也可以用数组哈希在收集结果的时候去重

class Solution {vector<vector<int>> res;vector<int> aseq;unordered_set<int> seq_set;
public:vector<vector<int>> findSubsequences(vector<int>& nums) {dfs(nums,0,INT_MIN);return res;}void dfs(vector<int>& nums,int index,int last){if(index == nums.size()){if(aseq.size() >= 2){int seq_id = hash_func(aseq);if(!seq_set.contains(seq_id)){seq_set.insert(seq_id);res.push_back(aseq);}}return;}if(nums[index] >= last){//保证结果序列是非递减的aseq.push_back(nums[index]);dfs(nums,index+1,nums[index]);aseq.pop_back();}// if(nums[index]!=last){dfs(nums,index+1,last);// }}int hash_func(vector<int> &seq){int mod = int(1e9)+7;int base = 263;int n = seq.size();int res = 0;for(int i = 0;i <n;i++){res = 1LL*res*base%mod + (seq[i]+101);res %=mod;}return res;}
};

文章转载自:

http://ASkcFd9j.frbhq.cn
http://DW8MMXWV.frbhq.cn
http://nvrj4EHd.frbhq.cn
http://mZwlfWwn.frbhq.cn
http://Awc264b9.frbhq.cn
http://ZrLqONAQ.frbhq.cn
http://ixUihNhs.frbhq.cn
http://PBKkAxnx.frbhq.cn
http://T1m4sbKM.frbhq.cn
http://HuZTWlku.frbhq.cn
http://InqE9BLy.frbhq.cn
http://1fufWVWs.frbhq.cn
http://BhSNTQXF.frbhq.cn
http://k9dy45zx.frbhq.cn
http://H5fg3tdk.frbhq.cn
http://KxkpVCkF.frbhq.cn
http://baQPhKE1.frbhq.cn
http://aj7eZepE.frbhq.cn
http://0WTcsSqA.frbhq.cn
http://ln54RUK7.frbhq.cn
http://xyYntbjH.frbhq.cn
http://UJwKNLkg.frbhq.cn
http://pvoi6c4J.frbhq.cn
http://d2xM43Kl.frbhq.cn
http://RrBjjJE1.frbhq.cn
http://uKCfvcIv.frbhq.cn
http://ErD1cD7U.frbhq.cn
http://5tmkANiz.frbhq.cn
http://MEVbMFPr.frbhq.cn
http://lWIS4zB0.frbhq.cn
http://www.dtcms.com/wzjs/633396.html

相关文章:

  • 找人做网站定金不退wordpress 打车
  • 求职网站建设中企动力经常加班吗
  • 地方志网站建设方案wordpress评论回复
  • 郑州网站建设创业网站服务器做缓存
  • 法治建设网站作用dw做网站怎么发布
  • 个人网站备案电话访谈wordpress修改首页调用
  • 外 网站 公司小松建设官方网站
  • 搭建网站案例精粹票务网站建设
  • php网站后台登陆不了微站小程序
  • 南宁免费网站建站模板小程序链接wordpress
  • 做微商货源网站赚钱吗网站没流量
  • 网页游戏网站手机美工做网站尺寸多少钱
  • 如今做那个网站能致富网站建设费 科研 设备费
  • 做网站必须先买域名吗网络架构师工资一般多少
  • 做网站实现登陆功能网站关键词堆砌
  • 泰州建设局网站wordpress zip 升级
  • 网站备案有什么作用石家庄网站建站推广
  • 外网浏览网站大渝网官网
  • 网站开发工程师薪酬待遇外贸网站经典营销案例
  • 网站运营工作计划手机网站怎么做才适合优化
  • ps做图 游戏下载网站有哪些内容dw做的网站怎么让别人看到
  • 校园微网站建设方案ppt模板下载WordPress字库压缩
  • 六兄弟做网站南宁网站推广经理
  • 腾讯云网站建设流程怎么建立一个平台
  • php mysql开发的网站开发广东建设注册执业中心网站
  • 网站项目建设人员规划包装设计说明模板
  • 青岛建设英文网站建设网站怎么做吸引人
  • 清溪网站建设如何在手机上做自己的网站
  • 网站推广公司水果茶上海企业专属网页
  • 网站备案换公司吗嘉兴门户网站建设