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

酒类产品网站设计看b站视频下载软件

酒类产品网站设计,看b站视频下载软件,企业网站推广方案上海,百度竞价推广账户问题背景 给定一个可包含重复数字的序列 n u m s nums nums,按任意顺序 返回所有不重复的全排列。 数据约束 1 ≤ n u m s . l e n g t h ≤ 8 1 \le nums.length \le 8 1≤nums.length≤8 − 10 ≤ n u m s [ i ] ≤ 10 -10 \le nums[i] \le 10 −10≤nums[i]≤…

问题背景

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

数据约束

  • 1 ≤ n u m s . l e n g t h ≤ 8 1 \le nums.length \le 8 1nums.length8
  • − 10 ≤ n u m s [ i ] ≤ 10 -10 \le nums[i] \le 10 10nums[i]10

解题过程

这题和 全排列 的区别在于数组里可能有重复的元素,那么只要在回溯的过程中及时地跳过重复元素即可。
用哈希表来记录哪些位置上的元素已经添加到路径中了,遇到重复元素必须先填前面的元素。

具体实现

class Solution {public List<List<Integer>> permuteUnique(int[] nums) {Arrays.sort(nums);int n = nums.length;List<List<Integer>> res = new ArrayList<>();List<Integer> path = Arrays.asList(new Integer[nums.length]);boolean[] onPath = new boolean[n];dfs(0, nums, path, onPath, res);return res;}private void dfs(int i, int[] nums, List<Integer> path, boolean[] onPath, List<List<Integer>> res) {if (i == nums.length) {res.add(new ArrayList<>(path));return;}for (int j = 0; j < nums.length; j++) {if (onPath[j] || j > 0 && nums[j] == nums[j - 1] && !onPath[j - 1]) {continue;}path.set(i, nums[j]);onPath[j] = true;dfs(i + 1, nums, path, onPath, res);onPath[j] = false;}}
}
http://www.ds6.com.cn/news/82291.html

相关文章:

  • 网页设计的岗位叫什么网站优化推广方案
  • 婚礼工作室网站模板站长工具百科
  • 使网站有流量流程优化的七个步骤
  • 提升自己建设自己的网站百度下载安装 官方
  • 网站建设是永久使用吗毕节地seo
  • 网页设计建网站流程网络营销方案策划案例
  • 响应式设计网站案例热狗网站关键词优化
  • 长沙网站制作培训搜索引擎推广的三种方式
  • adobe做网站seo搜索引擎推广
  • 做网站单网页搜客
  • 网站开发的认知宁波百度推广优化
  • 免费三网合一网站系统营销推广软件有哪些
  • 怎么做提卡网站真实有效的优化排名
  • 网站做百度推广怎么推广网站河南网站建设公司哪家好
  • 给微商做批发的网站网页开发流程
  • 网站制作的重要性珠海seo关键词排名
  • 网站SEO建设今日竞彩足球最新比赛结果查询
  • 自己电脑做采集网站手机百度识图网页版入口
  • h5做网站教程永久免费二级域名申请
  • 深圳市科技网站开发好用的搜索引擎
  • 提升网站建设品质网站建设费用明细表
  • 网站用户体验度网络推广与网络营销的区别
  • 网站建设的一般步骤百度一下官网首页百度一下
  • 做营销策划要用到哪些网站网站优化检测工具
  • 长沙优化网站排名竞价广告推广
  • 国产 做 视频网站整合营销策略
  • wordpress级简主题seo网站关键词优化软件
  • 二七网站建设站外推广方式
  • 推动深圳整站seo
  • 国内做AI视频网站免费观看好消息疫情要结束了