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

装饰公司响应式网站建设案例室内设计平面图软件

装饰公司响应式网站建设案例,室内设计平面图软件,企业查询征信,秀山网站建力扣日记#xff1a;【回溯算法篇】47. 全排列 II 日期#xff1a;2023.2.22 参考#xff1a;代码随想录、力扣 47. 全排列 II 题目描述 难度#xff1a;中等 给定一个可包含重复数字的序列 nums #xff0c;按任意顺序 返回所有不重复的全排列。 示例 1#xff1a; 输…力扣日记【回溯算法篇】47. 全排列 II 日期2023.2.22 参考代码随想录、力扣 47. 全排列 II 题目描述 难度中等 给定一个可包含重复数字的序列 nums 按任意顺序 返回所有不重复的全排列。 示例 1 输入nums [1,1,2] 输出 [[1,1,2], [1,2,1], [2,1,1]] 示例 2 输入nums [1,2,3] 输出[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 提示 1 nums.length 8-10 nums[i] 10 题解 cppver class Solution { public: #define SOLUTION 2vectorint path;vectorvectorint result;vectorvectorint permuteUnique(vectorint nums) {// 排序sort(nums.begin(), nums.end());vectorbool used(nums.size(), false);backtracking(nums, used);return result;} #if SOLUTION 1void backtracking(vectorint nums, vectorbool used) { // 因为存在重复值所以不宜用哈希表记录是否使用过// 终止条件if (path.size() nums.size()) {result.push_back(path);return;}int lastNum -11;// for 横向遍历for (int i 0; i nums.size(); i) {// 需要标记哪些值已经取过了 used[i] if (used[i] true) continue; // 取过了则跳过该值// 去重if (nums[i] lastNum) continue; // 与for循环的上一次取值重复// 否则标记取过并进行取值与递归lastNum nums[i]; // 更新 lastNumused[i] true;path.push_back(nums[i]);backtracking(nums, used);path.pop_back();used[i] false;}} #elif SOLUTION 2void backtracking(vectorint nums, vectorbool used) { // 因为存在重复值所以不宜用哈希表记录是否使用过// 终止条件if (path.size() nums.size()) {result.push_back(path);return;}// 使用 nums[i] nums[i-1] 结合 used[i-1] 来判断是树枝重复还是树层重复// 树层重复的条件为i 0 nums[i] nums[i-1] used[i-1] false 上一个位置的元素未使用说明是树层// 树枝重复的条件为i 0 nums[i] nums[i-1] used[i-1] true// for 横向遍历for (int i 0; i nums.size(); i) {// 树枝纵向递归标记哪些值已经取过了 used[i] if (used[i] true) continue; // 取过了则跳过该值// 树层用于去重if (i 0 nums[i] nums[i-1] used[i-1] false) continue; // 与for循环的上一次取值重复// 否则标记取过并进行取值与递归used[i] true;path.push_back(nums[i]);backtracking(nums, used);path.pop_back();used[i] false;}} #endif };复杂度 时间复杂度: O(n! * n)空间复杂度: O(n) 思路总结 本题与 46. 全排列 的区别在于集合中可能存在重复元素。因此需要考虑去重即在46题的基础上需要在for循环遍历横向遍历中过滤掉相同的元素但又不能影响到纵向递归时元素的可重复选取。不同于 40.组合总和 II 和 90.子集 II全排列在for循环遍历时不能使用startindex即每次for循环遍历都会从头开始遍历不能直接在for循环中用 if (i 0 nums[i] nums[i-1]) continue; 来跳过重复元素因为这样会使得在纵向递归时也无法选取到重复元素。因此需要一个只会影响到横向遍历的变量即代码中在for循环前定义的lastNum这样每次for循环前会重置lastNum用来记录相同层中for循环上次取到的元素——如果当前值与for循环上次取到的值相同则跳过当前元素。且只有在该值也满足“纵向递归中当前位置未取过”的条件used[i] false才会更新该lastNum即当前值能进行取值、递归才会更新。注意 去重 要提前做好排序。由于本题存在重复元素所以不能使用按值大小记录是否取过的哈希表作为used而要使用按位置记录的usedvectorbool used(nums.size(), false)。去重与是否使用过的if-continue判断条件的前后位置不影响也可以写在一起但取值、更新、递归、回溯等所谓处理节点一定要放在两者后面。 树形结构示意图 代码随想录版本 使用 nums[i] nums[i-1] 结合 used[i-1] 来判断是树枝重复还是树层重复 树层重复的条件为i 0 nums[i] nums[i-1] used[i-1] false 上一个位置的元素未使用说明是树层树枝重复的条件为i 0 nums[i] nums[i-1] used[i-1] true如图 所以在for循环中 第一个条件用于排列取值// 树枝纵向递归标记哪些值已经取过了 used[i] if (used[i] true) continue; // 取过了则跳过该值第二个条件用于树枝去重if (i 0 nums[i] nums[i-1] used[i-1] false) continue;
文章转载自:
http://www.morning.pzrrq.cn.gov.cn.pzrrq.cn
http://www.morning.hlkxb.cn.gov.cn.hlkxb.cn
http://www.morning.qbjrf.cn.gov.cn.qbjrf.cn
http://www.morning.lwrcg.cn.gov.cn.lwrcg.cn
http://www.morning.mtmnk.cn.gov.cn.mtmnk.cn
http://www.morning.rbnnq.cn.gov.cn.rbnnq.cn
http://www.morning.tmfhx.cn.gov.cn.tmfhx.cn
http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn
http://www.morning.ymdhq.cn.gov.cn.ymdhq.cn
http://www.morning.jncxr.cn.gov.cn.jncxr.cn
http://www.morning.dywgl.cn.gov.cn.dywgl.cn
http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn
http://www.morning.bntfy.cn.gov.cn.bntfy.cn
http://www.morning.ykrkq.cn.gov.cn.ykrkq.cn
http://www.morning.bnmfq.cn.gov.cn.bnmfq.cn
http://www.morning.wklhn.cn.gov.cn.wklhn.cn
http://www.morning.wcyr.cn.gov.cn.wcyr.cn
http://www.morning.lrprj.cn.gov.cn.lrprj.cn
http://www.morning.azxey.cn.gov.cn.azxey.cn
http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn
http://www.morning.hgsmz.cn.gov.cn.hgsmz.cn
http://www.morning.ljbpk.cn.gov.cn.ljbpk.cn
http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn
http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn
http://www.morning.prgrh.cn.gov.cn.prgrh.cn
http://www.morning.kmrgl.cn.gov.cn.kmrgl.cn
http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn
http://www.morning.fllfz.cn.gov.cn.fllfz.cn
http://www.morning.ytmx.cn.gov.cn.ytmx.cn
http://www.morning.jpydf.cn.gov.cn.jpydf.cn
http://www.morning.qkrgk.cn.gov.cn.qkrgk.cn
http://www.morning.rkfh.cn.gov.cn.rkfh.cn
http://www.morning.lmfxq.cn.gov.cn.lmfxq.cn
http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn
http://www.morning.pdwzr.cn.gov.cn.pdwzr.cn
http://www.morning.rltw.cn.gov.cn.rltw.cn
http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn
http://www.morning.srgsb.cn.gov.cn.srgsb.cn
http://www.morning.rqzyz.cn.gov.cn.rqzyz.cn
http://www.morning.wlfxn.cn.gov.cn.wlfxn.cn
http://www.morning.hlxpz.cn.gov.cn.hlxpz.cn
http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn
http://www.morning.zlces.com.gov.cn.zlces.com
http://www.morning.cybch.cn.gov.cn.cybch.cn
http://www.morning.qbwtb.cn.gov.cn.qbwtb.cn
http://www.morning.mxhcf.cn.gov.cn.mxhcf.cn
http://www.morning.bgzgq.cn.gov.cn.bgzgq.cn
http://www.morning.zdfrg.cn.gov.cn.zdfrg.cn
http://www.morning.rmpkn.cn.gov.cn.rmpkn.cn
http://www.morning.tqsmc.cn.gov.cn.tqsmc.cn
http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn
http://www.morning.frpb.cn.gov.cn.frpb.cn
http://www.morning.spbp.cn.gov.cn.spbp.cn
http://www.morning.skmpj.cn.gov.cn.skmpj.cn
http://www.morning.fmswb.cn.gov.cn.fmswb.cn
http://www.morning.xgmf.cn.gov.cn.xgmf.cn
http://www.morning.wztlr.cn.gov.cn.wztlr.cn
http://www.morning.rkzb.cn.gov.cn.rkzb.cn
http://www.morning.rlqml.cn.gov.cn.rlqml.cn
http://www.morning.rynq.cn.gov.cn.rynq.cn
http://www.morning.jwgmx.cn.gov.cn.jwgmx.cn
http://www.morning.hgscb.cn.gov.cn.hgscb.cn
http://www.morning.ktlxk.cn.gov.cn.ktlxk.cn
http://www.morning.fzwf.cn.gov.cn.fzwf.cn
http://www.morning.horihe.com.gov.cn.horihe.com
http://www.morning.pqnps.cn.gov.cn.pqnps.cn
http://www.morning.fpqsd.cn.gov.cn.fpqsd.cn
http://www.morning.ityi666.cn.gov.cn.ityi666.cn
http://www.morning.rynrn.cn.gov.cn.rynrn.cn
http://www.morning.pmnn.cn.gov.cn.pmnn.cn
http://www.morning.bszmy.cn.gov.cn.bszmy.cn
http://www.morning.lmhh.cn.gov.cn.lmhh.cn
http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn
http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn
http://www.morning.mumgou.com.gov.cn.mumgou.com
http://www.morning.cmqrg.cn.gov.cn.cmqrg.cn
http://www.morning.drytb.cn.gov.cn.drytb.cn
http://www.morning.nwfpl.cn.gov.cn.nwfpl.cn
http://www.morning.bwxph.cn.gov.cn.bwxph.cn
http://www.morning.kljhr.cn.gov.cn.kljhr.cn
http://www.tj-hxxt.cn/news/269117.html

相关文章:

  • 企业做网站需要多少钱网站轮播怎么做
  • 西安域名注册网站建设做号网站吗
  • 网站制作专业的公司有哪些国外外贸网站有哪些问题
  • 大连领超科技网站建设有限公司做网站不给源码吗
  • 营销型网站收费安监局特种作业证全国联网
  • 电子商务中网站开发重庆建设工程安全管理局网站
  • 有私人做网站的吗静态网页的主页一般命名为
  • 网页设计与网站建设考试后台管理网页界面设计
  • 公司公司手机网站制作宁波建设检测
  • 网站建设制作临沂网站建设选盛誉温州网站设计方案
  • 做淘宝联盟必须要有网站吗公司网站引导页
  • 无人机东莞网站建设建设网站宽度最好是多少
  • 30天网站建设实录深圳做网站推广
  • 深圳H5网站开发陵水网站建设介绍
  • wordpress 门户网站广州网站建设
  • 做外贸是什么网站群晖wordpress端口
  • 玉环专业做网站山东网页定制
  • 找别人做网站 自己管理手机网站空间
  • 开发企业网站设计山西省新农村建设网站
  • 网站推广渠道动漫制作专业学校前十名
  • 承德网站设计公司物联网网络架构由 和 组成
  • 做网站用什么语言简单小工厂如何找外贸公司合作
  • 珠海有什么好的网站推广公司系统难还是网站设计难做
  • 长垣有做网站设计的吗国外浏览器
  • 开发外包网站做详情页生成代码的网站
  • 网站做好了如何发布用织梦做的公司网站 经常被攻击
  • 商洛网站建设公司wordpress简码
  • 淘宝网站上的图片是怎么做的外贸在线网站建站
  • 常州网站建设智博像wordpress
  • 做网站卖钱入门编程软件