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

手把手教你用动易做网站热搜词工具

手把手教你用动易做网站,热搜词工具,站长平台社区,unity制作app教程1. 全排列 46. 全排列https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],…

1. 全排列

46. 全排列icon-default.png?t=N7T8https://leetcode.cn/problems/permutations/

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

示例 1:

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

示例 2:

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

示例 3:

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

解题思路

全排列的难点在于需要回头取数,而且还要判定是否已经取过了,可以考虑使用一个bool数组来区分是否在当前排列取过。

代码

class Solution {List<List<Integer>> res = new ArrayList<>();LinkedList<Integer> path = new LinkedList<>();boolean[] mark;public List<List<Integer>> permute(int[] nums) {mark = new boolean[nums.length];Arrays.fill(mark, false);backTrack(nums);return res;}private void backTrack(int[] nums) {if (path.size() == nums.length) {res.add(new ArrayList(path));return;}for (int i = 0; i < nums.length; i++) {if (mark[i])continue;path.add(nums[i]);mark[i] = true;backTrack(nums);path.removeLast();mark[i] = false;}}
}

2. 全排列 II

47. 全排列 IIicon-default.png?t=N7T8https://leetcode.cn/problems/permutations-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]]

解题思路

相较于上一题,多了一个点,那就是元素会重复,也就是说在某一层取值的时候,需要判断是否重复,bool数组已经用来判定是否在组内了,所以只需要进行一个排序,当发现和上一个相等的时候,判断上一个是否取进组内了,如果没在组内,这个就不能取,

代码

class Solution {List<List<Integer>> res = new ArrayList<>();LinkedList<Integer> path = new LinkedList<>();boolean[] mark;public List<List<Integer>> permuteUnique(int[] nums) {mark = new boolean[nums.length];Arrays.fill(mark, false);Arrays.sort(nums);backTrack(nums);return res;}private void backTrack(int[] nums) {if (path.size() == nums.length) {res.add(new ArrayList(path));return;}for (int i = 0; i < nums.length; i++) {if (mark[i])continue;if (i > 0 && !mark[i - 1] && nums[i - 1] == nums[i])continue;path.add(nums[i]);mark[i] = true;backTrack(nums);path.removeLast();mark[i] = false;}}
}

http://www.dinnco.com/news/53879.html

相关文章:

  • 广西网站建设公司电话怎么理解搜索引擎优化
  • 外贸网站增加权重淘宝代运营
  • 网站cn和com有什么区别大兵seo博客
  • 做修图网站电脑配置线上推广具体应该怎么做
  • 宝石网站建设如何引流推广产品
  • 网站建设与管理论文的总结产品怎么进行推广
  • 做网站电商云数据库有用吗百度163黄页关键词挖掘
  • 高端网站开发建设晨阳seo服务
  • 沙田镇网站仿做怎么网站推广
  • 本地电脑做服务器建网站重庆seo职位
  • wordpress 首页 修改合肥seo推广排名
  • 网站建设公司服seo顾问赚钱吗
  • 哪些网站可以做问卷调查铜仁搜狗推广
  • 做个网站得花多少钱百姓网推广电话
  • 遵义网站制作的网站网络营销的优势是什么
  • 网络推广引流方法seo教程最新
  • 做网站投资太大 网站也没搞起来免费外链网站seo发布
  • 360建站abc官网百度知道客服电话人工服务
  • 建网站 绑定域名 网址关键词排名优化是什么意思
  • 企业网站建设专业的公司引流推广
  • 天津网站建设交换友情链接的意义是什么
  • 微豆网络科技有限公司网页设计搜索引擎排名优化
  • 网站建设实验代码个人博客网站搭建
  • 网站手机版怎么制作正版搜索引擎优化
  • 最专业的外贸网站建设邯郸网站优化
  • 网站开发毕业论文刷神马关键字排名软件
  • 网站维护有多长时间官网站内推广内容
  • 南宁vi设计公司seo培训网
  • 南阳做网站电话百度搜索关键词
  • 蓝色汽车配件公司网站 模板chrome网页版入口