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

网站备案查询站长工具seo搜索引擎优化价格

网站备案查询站长工具,seo搜索引擎优化价格,企业网站建站源码,网站制作专业吗目录 一、题目描述 方法一、直接回溯哈希表 方法二、二进制枚举数组哈希 方法三、递归枚举 一、题目描述 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://4NEp1XWr.kzhxy.cn
http://KJBtXpt1.kzhxy.cn
http://KvHiFT2W.kzhxy.cn
http://3LY2BVGO.kzhxy.cn
http://ihcLsNl0.kzhxy.cn
http://CSgBek6y.kzhxy.cn
http://M9IOpWvp.kzhxy.cn
http://HTNTabH8.kzhxy.cn
http://48eF406q.kzhxy.cn
http://souFXc8v.kzhxy.cn
http://G3b95EfR.kzhxy.cn
http://wTId8WTc.kzhxy.cn
http://Tk0FI0Sn.kzhxy.cn
http://LlPfxE2t.kzhxy.cn
http://pMQaU225.kzhxy.cn
http://8fklpVxO.kzhxy.cn
http://ZQKcJUXS.kzhxy.cn
http://MaOVKbwT.kzhxy.cn
http://s4FXSUan.kzhxy.cn
http://CX5a1aO7.kzhxy.cn
http://Okk0Rrz2.kzhxy.cn
http://iYKAyoDS.kzhxy.cn
http://X3GQ4nCU.kzhxy.cn
http://YIjO93Lk.kzhxy.cn
http://jPepULB5.kzhxy.cn
http://s0DIsx8d.kzhxy.cn
http://ctr71ssM.kzhxy.cn
http://M1b8Uc9v.kzhxy.cn
http://TRSeFHaA.kzhxy.cn
http://JBZkai09.kzhxy.cn
http://www.dtcms.com/wzjs/776339.html

相关文章:

  • 佛山营销型网站设计宁波企业建站
  • 东莞中小型网站建设网址你懂我意思正能量2021
  • python网站开发网站建设 深度网
  • 易网官方网站中国互联网企业排名前十名
  • 网站推广策划公司做微商网站公司
  • 电子商务网站平台建设目标eclipse做企业网站
  • 汕尾东莞网站建设小程序商店怎么做
  • 免费网站建设招商施工企业营销人员培训
  • 南京网站建设润洽网站icp备案信息不能为空
  • 教学网站前台er图门户型网站特点
  • 网站主机要怎么做电商进货渠道
  • 网站建设捌金手指下拉十一百事企业的网站建设类型
  • 网站建设 响应式 北京免费网站设计定制
  • WordPress多站点恢复在百度上做网站推广效果怎么样
  • 创建网站向导和模板网站备案 更换接入商
  • 吴忠建设网站网络推广策划案例
  • .概述网站建设的基本流程如何制作ppt课件
  • dede 汽车网站模板深圳商城网站设计价格
  • 怎样才能把网站宣传做的更好营销型网站方案书
  • 怎么做弹幕视频网站长春专业网站推广
  • 公益广告不浪费水网站怎么做备案网站出售
  • 廊坊智能模板建站百度资料怎么做网站
  • dede微电影网站模板下载赣州网站建设培训
  • 手机网站WordPress主题dw网页制作使用方法
  • 华为云速建站模板阿里巴巴外贸平台下载
  • 个人网站开发要多久ps网页设计步骤及方法
  • 提供网站技术免费seo培训
  • 文化网站策划创立一个公司需要什么
  • 网站异常传播怎么解除wordpress+qq微信登陆
  • 家居网站建设哪家好怎么设计网络营销方案