当前位置: 首页> 财经> 金融 > 东营刚刚发生_上海市装修公司_杭州网络推广_谷歌seo公司

东营刚刚发生_上海市装修公司_杭州网络推广_谷歌seo公司

时间:2025/7/10 14:45:39来源:https://blog.csdn.net/yin2567588841/article/details/147029418 浏览次数:0次
东营刚刚发生_上海市装修公司_杭州网络推广_谷歌seo公司

一、46. 全排列

在这里插入图片描述

  • 思路:
    排列个数等于数据长度的阶乘,
  • 代码:
class Solution:def permute(self, nums: List[int]) -> List[List[int]]:n = len(nums)ans = []path = [0] * n     # 所有排列的长度都是一样的 ndef dfs (i, s):    # 从答案的角度,第i个位置该从s中选择哪一个。if i==n:ans.append(path.copy())returnfor x in s:path[i] = xdfs(i+1,  s-{x})dfs(0, set(nums))return ans
  • 回溯的时间复杂度就是 路径长度*叶子节点 个数,这道题 n ! n! n! 个叶子节点,每个叶子节点个数为 n ! n! n!

二、51. N 皇后

在这里插入图片描述

  • 代码:
class Solution:def solveNQueens(self, n: int) -> List[List[str]]:ans = []col = [0] * ndef valid(r, c):for R in range(r):C = col[R]if C == c or r+c == R+C or r-c == R-C:return Falsereturn Truedef dfs(r,s):if r==n:ans.append(["."*c + "Q" + "."*(n-1-c) for c in col])returnfor c in s:if valid(r, c):col[r] = cdfs(r+1, s-{c})dfs(0, set(range(n)))return ans
关键字:东营刚刚发生_上海市装修公司_杭州网络推广_谷歌seo公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: