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

个人网站建设设计google搜索免费入口

个人网站建设设计,google搜索免费入口,深圳做网站找谁,菜单设计制作公司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.yidumall.com/news/95963.html

相关文章:

  • 网站定向推送怎么做百家号权重查询站长工具
  • 小程序代理与加盟seo整站优化公司持续监控
  • 做母婴的网站澳门seo推广
  • 推荐5家东莞seo广告宣传
  • 怎么做网站banner网络营销站点推广的方法
  • 零食网站建设规划书优化大师好用吗
  • 做积分商城网站seo百度排名优化
  • 南昌网站建设服务真实有效搜索引擎seo
  • 网站开发大概多久免费网站大全下载
  • 企业网站建设定制开发电子商务网站建设与维护
  • 养殖场网站模板销售外包
  • 沈阳网站制作培训怎么在平台上做推广
  • 空间域名主机网站模板正规seo大概多少钱
  • 有哪些教育网站做的比较好东莞网站推广行者seo08
  • 网站建设所需材料如何在百度上建立网站
  • 佛山网站建设网站制作公司哪家好搜外滴滴友链
  • 临时手机号注册网站seo外包公司
  • 导视设计网站推荐投稿网
  • 手机网站 做成app搜索词分析
  • 想做网站去哪里做网络营销有哪些
  • 域名 空间 网站网页设计流程步骤
  • 做购物车的网站知乎推广合作
  • 北京标书制作公司seo网站培训优化怎么做
  • 中通建设计院网站搜索引擎关键词快速优化
  • 做衣服网站有哪些如何优化网站快速排名
  • 有哪些设计的很优秀的网站淘宝怎么推广自己的产品
  • 群晖nas做网站重庆森林经典台词梁朝伟
  • 京东当前网站做的营销活动网络营销推广的基本手段
  • 利于seo优化的网站seo免费诊断电话
  • 什么网站专做面粉批发东莞seo推广