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

湖北做网站平台哪家好清理优化大师

湖北做网站平台哪家好,清理优化大师,目标网站上做关键字布局,网站做会员用什么源码LeetCode-47 全排列Ⅱ 题目描述解题思路代码说明 题目描述 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 : 输入:nums [1,1,2]输出: [[1,1,2], [1,2,1], [2,1,1]] b站题目解读讲的不好&…

LeetCode-47 全排列Ⅱ

  • 题目描述
  • 解题思路
  • 代码
  • 说明

题目描述

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。

示例 :

  • 输入:nums = [1,1,2]
  • 输出:
    [[1,1,2],
    [1,2,1],
    [2,1,1]]
    b站题目解读讲的不好,勿喷

解题思路

首先选择对原数组排序,保证相同的数字都相邻,然后每次填入的数一定是这个数所在重复数集合中「从左往右第一个未被填过的数字」,即如下的判断条件:

if (i > 0 && nums[i] == nums[i - 1] && used[i-1] == false) {continue;
}

即可实现树层的去重。

  • 希望在计算的过程中进行去重操作,所以我们对数组nums排序处理。

  • 如果nums[i] == nums[i-1]就说明该分支有可能是重复的。 但是这个相等条件有两种可能:

  1. 一种是,1 1‘ 2,也就是选择完1之后再选择第二个1,两个元素虽然重复,但是第二个元素是前一个元素的下一层,这时是没有问题的。
  2. 另一种是之前的 同层 分支已经有 1 1‘ 2了,这次的选择是 1‘ 1 2 。两个元素重复,且重的是同层路径。那就说明是重复分支

具体区分的办法是 nums[i-1] 的used状态是被选择的,那么说明当前的nums[i] 是 nums[i-1]的下一层路径。 否则如果 nums[i-1] 的状态是没被选择的,那么说明当前 的nums[i] 是nums[i-1] 同层路径。
Alt

代码

class Solution {
public:
// [] 中的数字可以重复,结果集的vector元素不能重复vector<vector<int>> permuteUnique(vector<int>& nums) {sort(nums.begin(), nums.end());vector<bool> used(nums.size(), false);back_tracking(nums, used);return res;}
private:vector<vector<int>> res;vector<int> path;void back_tracking(vector<int>& nums, vector<bool>& used) {if (path.size() == nums.size()) {res.push_back(path);return;} else {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]);back_tracking(nums, used);path.pop_back();used[i] = false;}}}} 
};

说明

去重最关键的代码就是

if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == false) {continue;
}

而改成used[i-1]==true也正确

if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == true) {continue;
}

树层上去重(used[i - 1] == false),的树形结构如下:
Alt树枝上去重(used[i - 1] == true)的树型结构如下:
Alt

http://www.hkea.cn/news/13315/

相关文章:

  • 中国商标买卖网站空间刷赞网站推广
  • 药品营销策划方案seo入门免费教程
  • 做目录网站注意事项免费个人网站建站
  • 北京做网站的外包公司免费发布产品的平台
  • 免费做苗木的网站seo项目优化案例分析文档
  • 网易企业邮箱怎么绑定江门搜狗网站推广优化
  • 网站还没有做解析是什么意思模板建站代理
  • 网站建设对接视频全国疫情最新报告
  • 网页设计毕业论文总结谷歌优化怎么做
  • 那家做网站最靠扑关键词林俊杰mp3下载
  • 新沂做网站网页设计需要学什么软件
  • 北京制作网站的公司简介google 网站推广
  • 网站删除关键词为企业推广
  • 网站cms系统 开源框架最新足球赛事
  • 哈尔滨快速建站点击查看百度一下你就知道
  • 傻瓜式在线做网站知名的建站公司
  • 企业门户网站解决方案百度seo霸屏软件
  • 失业保险网站上海网站制作公司
  • wordpress 新手指南温州seo教程
  • 微信管理中心四川自助seo建站
  • 襄阳做网站公司百度账号中心官网
  • 申请网站域名怎么做网站推广赚钱软件
  • 哈尔滨网站建设咨询360营销推广
  • 昆明室内设计公司排名在线看seo网站
  • 一个大型网站建设得多少钱软服业营收破334亿
  • 手机怎样建个人网站晋城今日头条新闻
  • 开发区人力资源招聘网武汉网站优化
  • 免费无广告建站怎么推广软件
  • 佛山市企业网站建设平台网络推广seo教程
  • html家具网站源代码冯耀宗seo博客