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

浦东新区网站开发平台推广方式

浦东新区网站开发,平台推广方式,wordpress authkey,做网站域名哪里来46. 全排列 给定一个不含重复数字的数组 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: 输入&#…

46. 全排列

给定一个不含重复数字的数组 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]]

提示:

  • 1 <= nums.length <= 6
  • -10 <= nums[i] <= 10
  • nums 中的所有整数 互不相同

解题思路:

递归回溯(Recursion、Backtrack)

class Solution {public List<List<Integer>> permute(int[] nums) {// 递归回溯// Time: O(n x n!)// Space: O(n)List<List<Integer>> res = new ArrayList<>();backtrack(nums, 0, res);return res;}private void backtrack(int[] nums, int start, List<List<Integer>> res) {// 如果当前位置已经是数组的末尾,说明已经生成了一个排列,将其加入结果列表if (start == nums.length) {List<Integer> permutation = new ArrayList<>();for (int num : nums) {permutation.add(num);}res.add(permutation);return;}// 将当前位置的数字与后面的数字交换,并递归生成下一个位置的排列for (int i = start; i < nums.length; i++) {// 交换当前位置的数字与后面的数字swap(nums, start, i);// 递归生成下一个位置的排列backtrack(nums, start + 1, res);// 恢复原始状态,以便进行下一次交换swap(nums, start, i);}}private void swap(int[] nums, int i, int j) {int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}
}

http://www.tj-hxxt.cn/news/34606.html

相关文章:

  • 爱网站黄湖南网站设计外包费用
  • 医疗网站建设方案站外seo推广
  • 备案 网站建设方案书seo引擎优化专员
  • 高端网站建设webbj常州网站优化
  • h5在哪个网站上做人工智能培训师
  • 张店网站制作价格低百度 营销推广多少钱
  • 怎样创办一个网站seo技巧是什么
  • 广州 营销型网站建设公司seo是什么意思为什么要做seo
  • 塘厦仿做网站互联网下的网络营销
  • 陕西做网站公司谷歌chrome浏览器
  • 成都网站建设网络公司关键词seo服务
  • 软环境建设网站下载浏览器
  • 无锡营销型网站比较好用的搜索引擎
  • 做网站guangxiyanda公司网站建设公司好
  • 乐清做网站公司百度云网盘网页版登录
  • 深圳龙岗网络科技有限公司小果seo实战培训课程
  • 网站建设l临沂网络营销的优势是什么
  • 手动搭建wordpressseo排名第一
  • 医院网站建设平台网站标题优化排名
  • 潍坊做电商的网站东莞互联网公司排名
  • 网页站点不安全怎么办新乡seo网络推广费用
  • 做一个招聘网站需要多少钱关键词排名
  • 云服务器永久免费百度快速排名优化技术
  • 西安有几家做网站管理微信软件
  • 哈尔滨网站建设 seo哪些网站是营销型网站
  • 成都网站设计开发做得好网络营销专业如何
  • 手机网站的开发怎么自己创建网页
  • 网站建设有模板吗博客网
  • 温州市微网站制作电话商丘网站优化公司
  • 两新组织党建支部网站建设什么叫软文推广