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

陕西省住房和建设委员会网站北京网站建设公司案例

陕西省住房和建设委员会网站,北京网站建设公司案例,淘宝网站建设的公司,网站结构说明1、题目描述 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]] 2、初始思路 2.1 思路 避免重复子集,可以使用used保存同层…

1、题目描述

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

示例 1:

输入:nums = [1,1,2]
输出:
[[1,1,2],[1,2,1],[2,1,1]]

2、初始思路

2.1 思路

避免重复子集,可以使用used保存同层已经访问过的数值,以避免出现重复子集。

2.2 代码

给出used数组的两种使用方案:

(1)将同层访问过的数值加入到used中:

class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:path = []res = []def backtracking(nums, surplus):if len(path) == len(nums):res.append(path.copy())returnused = set()for i in range(len(surplus)):if surplus[i] in used:continueused.add(surplus[i])path.append(surplus[i])print(path) backtracking(nums, surplus[:i]+surplus[i+1:])path.pop()backtracking(nums, nums)return res

(2)创建一个与数组长度相同的used数组,如果同层访问过,则将其值保存为True:

class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:path = []res = []nums.sort()used = [False] * len(nums)def backtracing(nums):if len(path) == len(nums):res.append(path.copy())returnfor i in range(len(nums)):if used[i]:continueif i>0 and nums[i] == nums[i-1] and not used[i-1]:continuepath.append(nums[i])print(path)used[i] = Truebacktracing(nums)path.pop()used[i] = Falsebacktracing(nums)return res
http://www.dtcms.com/wzjs/407564.html

相关文章:

  • 鸿运通网站建设怎么样广州网络seo公司
  • 如何 做网站的推广北京网站优化企业
  • 做网站一般不选用的图片格式vi设计
  • 职业学校网站建设方案一个免费的网站
  • 如何做一个公司网站百度优化seo
  • wordpress速度没织梦快深圳网站搜索优化工具
  • 如何把做好的网站代码变成网页常见的网络营销方式有哪些
  • 开设网站的费用广州关键词快速排名
  • 购物网站开发会遇到的的问题web网页制作成品
  • 福州做网站外包团队seo薪资水平
  • 兰州做高端网站石家庄自动seo
  • 市工商局网站建设情况寻找郑州网站优化公司
  • 做网上商城网站哪家好优秀品牌策划方案
  • 写作网站会有枪手嘛东莞seo优化
  • 重庆百度百科seo网络推广知识
  • 做网站经常用的术语seo综合优化公司
  • 长沙网销公司大连seo优化
  • 做b2b网站管理系统百度权重什么意思
  • 如何做网站赚抓取关键词的软件
  • 石家庄电商网站排名互联网项目
  • 做专业网站设计多少钱如何成为app推广代理
  • 龙岩代理记账公司巩义网站优化公司
  • 珠海网站建设 金碟国家高新技术企业名单
  • 工信部网站备案要先做网站吗厦门小鱼网
  • 做网站代理需要办什么执照漯河seo推广
  • 西安市政府网站建设管理规范广东广州疫情最新情况
  • 学做网站需要什么软件天津优化公司
  • 网站建设合同约定三年后百度平台客服联系方式
  • 用ps可以做网站吗微信小程序开发公司
  • 产品网站建设seo排名优化方式方法