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

沈阳网站建设本地化技术服务东莞网站建设营销网站

沈阳网站建设本地化技术服务,东莞网站建设营销网站,厦门seo网站推广,保定曲阳网站建设题1#xff1a; 指路#xff1a;491. 非递减子序列 - 力扣#xff08;LeetCode#xff09; 思路与代码#xff1a; 对于这个题我们应该想起我们做过的子集问题#xff0c;就是在原来的问题上加一个去重操作。我们用unordered_set集合去重#xff0c;集合中使用过的元…题1 指路491. 非递减子序列 - 力扣LeetCode 思路与代码 对于这个题我们应该想起我们做过的子集问题就是在原来的问题上加一个去重操作。我们用unordered_set集合去重集合中使用过的元素我们要对结果集进行横向去重集合中有的元素就已经被用过弃之。代码如下 class Solution {private:vectorvectorint result;vectorint path;void backtracking(vectorint nums, int startIndex) {if (path.size() 2 path.size() nums.size()) {result.push_back(path);}unordered_setint 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:vectorvectorint findSubsequences(vectorint nums) {backtracking(nums, 0);return result;} }; 题2 指路46. 全排列 - 力扣LeetCode 思路与代码 排列与组合的不同点在于组合无顺序排列有顺序。例如[1, 2, 3] 和[3, 2, 1]对于组合来说二者无区别对于排列来说二者有区别。所以这也是单层循环逻辑中的不同所在我们每次从数组i 0的地方开始遍历如果遇到未遍历过的元素则加入路径集反之如果是已经遍历过的元素则跳过本轮循环继而寻找下一元素。其中我们用used数组来标识元素是否用过。初始化为false用过则赋值为true。最终当路径集大小与原数组集相等时加入最终结果集。代码如下 class Solution {private:vectorvectorint result;vectorint path;void backtracking(vectorint nums, vectorbool 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:vectorvectorint permute(vectorint nums) {vectorbool used(nums.size(), false);backtracking(nums, used);return result;} }; 题3 指路47. 全排列 II - 力扣LeetCode 思路与代码 相似于上题排列本题不同点在于有了重复元素这就意味着会出现重复子序列所以需要我们做的就是去重。相似于组合总和Ⅱ的去重操作。我们将数组排序得到一个升序数组如果相邻两个元素相等时只需要得到一个数的子序列即可。代码如下 class Solution {private:vectorvectorint result;vectorint path;void backtracking(vectorint nums, vectorbool 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:vectorvectorint permuteUnique(vectorint nums) {vectorbool used (nums.size(), false);sort(nums.begin(), nums.end());backtracking(nums, used);return result;} };
http://www.w-s-a.com/news/214074/

相关文章:

  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司
  • 陵水网站建设友创科技十大优品店排名
  • 想换掉做网站的公司简要说明网站制作的基本步骤
  • 国企公司网站制作wordpress 浮动定位
  • 网站网页直播怎么做的企业网站建设推荐兴田德润
  • 网站建设熊猫建站厦门seo全网营销
  • 扁平网站设计seo是什么岗位的缩写
  • 工商企业网站群晖配置wordpress 80端口
  • 企业网站建设流程步骤镇江东翔网络科技有限公司
  • 网络工程师和做网站哪个难网络建站如何建成
  • 网站建设需要哪些项目游民星空是用什么做的网站
  • 旅游网站建设要如何做百度商城网站建设
  • destoon 网站搬家中国企业500强都有哪些企业
  • 商城网站前端更新商品天天做吗哈尔滨做网站优化
  • 新乡网站开发wordpress 产品分类侧边栏
  • 网站自己做自己的品牌好做互联网企业分类