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

天元建设集团有限公司嘉和新城seo网络推广排名

天元建设集团有限公司嘉和新城,seo网络推广排名,网站标签系统,wordpress编码查看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: 输入&#x…

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]]

2 答案

自己写的,回溯算法,得出答案不对

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:def dfs(start, size, path, res):if len(path) == size:res.append(path)for index in range(start, size):  # 这样写循环,导致只能按顺序生成列dfs(index+1, size, path+[nums[index]], res)res = []path = []size = len(nums)dfs(0, size, path, res)return res

官方解,回溯算法

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:def dfs(path, size, depth, used, res):if depth == size:res.append(path)for i in range(size):if used[i] == False:used[i] = Truedfs(path+[nums[i]], size, depth+1, used, res)used[i] = False  # 深度优先遍历,结束之后,要把used[i]变为False,以便后面遍历,这个很关键path, res = [], []used = [False for _ in range(len(nums))]dfs(path, len(nums), 0, used, res)return res

也可以这样写,拷贝path,并使用pop()。因为变量 path 所指向的列表 在深度优先遍历的过程中只有一份 ,深度优先遍历完成以后,回到了根结点,成为空列表。

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:def dfs(nums, size, depth, path, used, res):if depth == size:res.append(path[:])  # 拷贝,需要pop()returnfor i in range(size):if not used[i]:used[i] = Truepath.append(nums[i])dfs(nums, size, depth + 1, path, used, res)used[i] = Falsepath.pop()size = len(nums)used = [False for _ in range(size)]res = []dfs(nums, size, 0, [], used, res)return res

3 知识点

回溯法
采用试错的思想,它尝试分步的去解决一个问题。在分步解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算,再通过其它的可能的分步解答再次尝试寻找问题的答案。回溯法通常用最简单的递归方法来实现,在反复重复上述的步骤后可能出现两种情况:

  • 找到一个可能存在的正确的答案;
  • 在尝试了所有可能的分步方法后宣告该问题没有答案。

深度优先搜索 算法(英语:Depth-First-Search,DFS)
是一种用于遍历或搜索树或图的算法。这个算法会 尽可能深 的搜索树的分支。当结点 v 的所在边都己被探寻过,搜索将 回溯 到发现结点 v 的那条边的起始结点。这一过程一直进行到已发现从源结点可达的所有结点为止。如果还存在未被发现的结点,则选择其中一个作为源结点并重复以上过程,整个进程反复进行直到所有结点都被访问为止。

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

相关文章:

  • 济南建设网站平台专门做网站的公司
  • 百度南京代理商南京seo建站
  • 拱墅区做网站如何推广自己成为网红
  • 辽宁省招标投标监管网深圳网站优化推广
  • 网站模式下做淘宝客关键词优化的方法有哪些
  • 平台网站建设开票开什么内容爱站网关键词挖掘查询工具
  • 华阳路街道网站建设线上营销推广方式
  • 设计公司属于什么行业类型seo关键词报价查询
  • 如何使用服务器ip做网站宣传链接怎么做
  • 建云购网站吗网页模板下载
  • 建个网站需要服务器吗seo外包费用
  • 摄影师如何做网站长沙网站优化公司
  • 上海建设企业网站1688网站
  • wordpress归档页面模板优化网站关键词排名软件
  • 专业html5网站建设2023年8月疫情严重吗
  • 网站关键词排名网络营销的策划流程
  • 温州网站托管全国新闻媒体发稿平台
  • 学做烘培的网站推广软件的app
  • 鄂州做网站河南网站seo
  • 上海服饰网站建设厦门人才网招聘最新信息
  • wordpress 固定链接设置企业网站优化公司
  • 短网址生成功能泰安seo培训
  • 中国建设银行春季招聘网站杭州网站关键词排名优化
  • 商务网站开发实验百度认证号码平台
  • html官方网站百度怎么投放广告
  • 合肥正规的seo公司衡水网站优化推广
  • 俄语网站里做外贸shop深圳网络营销渠道
  • 女的男的做那个视频网站百度收录量
  • 深圳网站设计公司哪家便宜淘宝如何刷关键词增加权重
  • 商务网站建设流程兰州seo公司