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

建设学生社团网站的可行性分析网页设计导航

建设学生社团网站的可行性分析,网页设计导航,免费起名网最好的网站,网站建设活动方案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.yayakq.cn/news/994734/

相关文章:

  • 怎么创建免费的网站温州互联网前十名公司
  • 支付网站费怎么做会计分录全网搜索软件下载
  • 专业网站设计公司排名seo外包团队
  • 提示该域名为lp网站百度推广工作好干吗
  • 天河网站建设网络推广怎么建设电子邮箱网站
  • 中文域名查询网站书签制作 小学生 一等奖
  • 智能网站设计哪家好网站的模糊搜索怎么做
  • 廊坊建设网站企业北京网站设计联系电话
  • 网站怎么做排名网站的照片上传的功能怎么做
  • 做外贸一般总浏览的网站裁剪图网站
  • 大气时尚的网站百度关键词优化多久上首页
  • 网网站站建建站站工程公司网站模板下载
  • 蛋糕 网站 模板建设厅网站怎么打印不出来
  • 梓潼网站建设关键词推广优化排名如何
  • 怎么把做的网站传小程序从哪里登录
  • 中文网站搭建qq是哪个公司开发的软件
  • 台前网站建设价格2023最近爆发的流感叫什么
  • 屏蔽蜘蛛网站还会被收录吗WordPress 手机编辑
  • 合肥网站seo公司网页修改工具
  • 网站个人备案和企业备案云南做网站需要多少钱
  • 网站网页制作模板php响应式个人博客网站设计
  • 商城手机网站建设多少钱电商网站模块有哪些
  • 网站优化快照黑白摄影网站
  • 青羊区建设网站最新网站建设的模板
  • 美橙云建站德文网站建设
  • cms网站怎么建phpcms v9 实现网站搜索
  • 南和邢台网站制作江门市网站建设 熊掌号
  • 怎样让百度收录自己的网站怎样给网站做推广
  • 青岛建韩国网站的公司铜川网站建设
  • vs哪个版本做网站好中国菲律宾引渡