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

湖北省建设工程招标网站南宁市住房和城乡建设部网站

湖北省建设工程招标网站,南宁市住房和城乡建设部网站,网站手机端和电脑端,广东工程承包网站目录 1. 题目:2. 我的代码:小结: 1. 题目: 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2], [1,2,1], [2,1…

目录

  • 1. 题目:
  • 2. 我的代码:
  • 小结:

1. 题目:

在这里插入图片描述

给定一个可包含重复数字的序列 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]]

2. 我的代码:

class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:# 回溯path = []result = []def backtracking(rest):# 终止条件if rest == []:result.append(path[:])# 对再次出现在该位置的数字做剪枝dic = set()for i in range(len(rest)):if rest[i] in dic: continue # 剪枝dic.add(rest[i])path.append(rest[i])backtracking(rest[:i] + rest[i + 1:])path.pop()backtracking(nums)return result

这个题继续使用回溯算法,只不过要配合剪枝操作。在每一层定义一个set作为遍历过的元素的记录,如果不在记录中则可以递归,如果在记录中则直接剪枝,continue

为什么要剪枝呢,因为如果相同元素在次位置再递归一次,则会产生和之前递归过的一模一样的分支。继续将遍历完整个列表作为终止条件即可。

以树形结构展示为下图:

在这里插入图片描述

小结:

关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
添加我的公众号即可:

http://www.yayakq.cn/news/739251/

相关文章:

  • 网赌网站怎么做的购买模板做网站
  • 大学学术建设专题网站wordpress 安装插件
  • 自己做网站怎样挣钱消防电气火灾监控系统网站开发
  • 杭州建站模板培训师资格证怎么考
  • 企业网站建设实训开一个网站建设公司好
  • 网站换服务器 备案网站建设费走什么费用
  • 网站怎么建东莞新闻最新消息今天
  • 已经有域名,如何建设网站搜索推广营销
  • 淘客手机网站模板湖北可以做网站的公司
  • 迪庆企业网站建设公司网站设计想法
  • 建设企业网站可信度的具体策略二次开发培训
  • 太原 网站建设wordpress 换空间域名
  • 如何做网站推广精个体工商户经营范围做网站
  • 电商类网站有几个主流程网站建设必须要做404
  • 关于网站建设管理的通知网站建设模块一项目三
  • 建设银行有招投标网站吗建设学校网站的需求分析
  • 设计行业网站seo企业优化顾问
  • 传动设备 技术支持 东莞网站建设建立网站的费用策划
  • 如何获得网站厦门网页定制
  • 外贸做什么产品出口好八宿县网站seo优化排名
  • 广西城乡住房建设厅网站首页天津市今天新闻头条
  • html5自适应网站源码商务网站规划建设与管理答案
  • 电子商务网站建设及管理百度账号登录入口官网
  • 怎么给网站 做排名外贸网上营销的途径有哪些
  • 青岛好的网站制作推广律师事务所东莞网站建设
  • 网站建设指导思想新网站做seo优化步骤
  • 网站建设英语词汇seo是付费的吗
  • 做网站要会哪些软件江苏营销型网站建设
  • 网站开发应看什么书籍昆明做烤瓷牙哪去柏德L网站
  • 上海发布网站帝国cms手机网站模板