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

嘉峪关做网站电子商务教材电子版

嘉峪关做网站,电子商务教材电子版,什么是软件开发平台,创意作品设计及简介大家好,我是晴天学长,排列型的回溯,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .全排列 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按…

大家好,我是晴天学长,排列型的回溯,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪


1) .全排列

在这里插入图片描述


给定一个不含重复数字的数组 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 中的所有整数 互不相同


2) .算法思路

全排列
1.建立boolean数组去标记
2.用合适的数组去存答案
3.注意回溯的时候,参数是否变回了以前的样子。


3) .算法步骤

1.创建一个整数数组nums,作为全排列的输入。
2.创建一个二维列表ans,用于存储所有的全排列结果。
3.创建一个列表path,用于存储当前的排列路径。
4.调用permute方法,将nums作为参数传入。
5.在permute方法中,创建一个布尔数组st,用于标记数组nums中的元素是否已经被访问过。
6.初始化路径列表path为空。
7.调用dfs方法,传入初始长度0、布尔数组st和路径列表path。
8.在dfs方法中,判断如果当前路径的长度等于数组nums的长度,即已经找到了一个全排列:
a. 将当前路径path的副本添加到结果列表ans中。
b. 返回。
遍历数组nums的每个元素:
a. 如果当前元素未被访问:
(1)将当前元素添加到路径列表path中。
(2)将当前元素标记为已访问。
(3)递归调用dfs方法,传入长度加1、更新后的布尔数组st和路径列表path。
(4)将当前元素标记为未访问,以便后续的回溯。
(5)从路径列表path中移除最后一个元素,恢复路径状态。
c.返回最终的结果列表ans。


4).代码示例

class Solution {private int[] nums;//方便插入List<List<Integer>> ans = new LinkedList<>();List<Integer> path;public List<List<Integer>> permute(int[] nums) {this.nums = nums;//替换成全局变量。这个类中。boolean[] st = new boolean[nums.length];path = new ArrayList<>();dfs(0, st, path);return ans;}public void dfs(int length, boolean[] st, List<Integer> path) {if (length == nums.length) {ans.add(new ArrayList<>(path));return;}for (int i = 0; i < nums.length; i++) {if (!st[i]) {path.add(nums[i]);st[i] = true;dfs(length + 1, st, path);st[i]=false;path.remove(path.size()-1);}}}}

5).总结

  • 正确的排列回溯。

试题链接:

http://www.yayakq.cn/news/70068/

相关文章:

  • 手机搭建网站软件下载网站做ppt模板下载地址
  • godady怎么做网站汕头百度网络推广
  • 排行榜百度南通seo网站推广费用
  • 网上做兼职网站有哪些内含各种专业的网站搭建模板
  • 临海手机网站html5商城网站模板
  • 怎样推广公司的网站网站证书打印格式不正确
  • 优秀平面设计作品网站如何搭建视频网站
  • 手机上有那种网站吗网站怎么建设好看
  • 怎么做网站自动响应网站登录验证码不显示
  • 南山网站建设公厦门市建设与管理局
  • 网站安全建设必要性网站建设的流程分析
  • 建网站的客户wordpress图片抓取插件
  • win7 做网站好吗网站登录界面模板html
  • 哪里有做app软件开发西安网站建设网站排名优化
  • 网站全背景做多大做电容元器件的网站有哪些
  • 开封网站建设中心河源和平县建设局网站
  • 衡水做企业网站官网制作价格
  • 上海备案证查询网站查询网站查询成都爱品阅网络科技有限公司
  • 个人怎么制作网站聚合搜索引擎入口
  • 做网站注册什么性质的公司wordpress 改语言
  • 网站开发技术要学什么软件网页设计与网站建设项目教程
  • 广州网站建设哪家技术好做淘宝网站销售怎么样
  • 如何增加网站反链html网站建设案例
  • 马鞍山市网站建设营销推广的形式包括
  • 网络违法犯罪网站举报如何免费制作简历
  • 关键词搜索爱站网装修公司网站用的织梦
  • 互助金融网站制作福州专业建站公司
  • 常州做网站麦策电商电子商务有限公司经营范围
  • 网站浮标怎么做wordpress like插件
  • 炫酷个人网站网站地图如何做