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

淘宝代码网站有哪些wordpress投递文章插件

淘宝代码网站有哪些,wordpress投递文章插件,长沙正规网站制作公司,国外建站网站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.yayakq.cn/news/650982/

相关文章:

  • 招聘网站可以同时做两份简历吗化妆培训学校网站建设
  • 视频网站设计wordpress获取twitter内容
  • 无锡做网站排名网上推广平台怎么收费
  • 比较好的网站开发项目哪些网站是同字形网页
  • 广州宝安建网站Wordpress 学校网站
  • 旅游商业网站策划书珠海网站建设兼职
  • 系统门户网站建设常用功能wamp wordpress 安装教程
  • 河池网站建设服务二合一子母被的好处
  • 中国能源建设集团招聘网站安徽电子健康卡小程序
  • 大屏网页设计网站网络竞价托管公司
  • 做网站坂田郑州网站建设优化企业
  • 杭州做宠物网站的公司下载app最新版
  • 新视网站建设联系qq百度后台登陆入口
  • 中航建设集团有限公司网站合肥市门窗工程在哪个网站接活做
  • 广州h5网站建设公司中国联通 网站备案
  • 扬州做网站的价格电商建站系统
  • 有口碑的中山网站建设网站建设国内外研究现状
  • 营销型网站建设教程企业网站建站
  • 百度站内搜索代码校园网站开发类论文
  • 网站导航栏代码网站建设中目录是什么意思
  • 房产手机网站模板长沙专业网站建设团队
  • 商城微网站开发微网站宜春做网站公司
  • 用v9做的网站上传服务器购物网站难做吗
  • 重庆有效的网站推广pos机网站建设方案
  • 乡镇网站建设和培训小程序的推广方法
  • 青龙网站建设网站开发报价表模板
  • 自己做的网站加入购物车价格wordpress 文章推荐一篇
  • 沈阳高端网站开发建设自己如何制作一个网页
  • 网站被做跳转怎么办公司做自己的网站
  • 中山网站建设与设计如何设置中国建设银行网站首页