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

做网站广告怎么做asp网站首页模板

做网站广告怎么做,asp网站首页模板,购物网站建设成本,建筑工程网络计划的关键工作有哪些一、全排列(Leetcode 46) 与组合问题不同,排列问题要注意2个特点: 每层都是从0开始搜索而不是startIndex需要used数组记录path里都放了哪些元素 class Solution:def permute(self, nums):result [] # 存储所有的排列self.back…

一、全排列(Leetcode 46)

与组合问题不同,排列问题要注意2个特点:

  • 每层都是从0开始搜索而不是startIndex
  • 需要used数组记录path里都放了哪些元素
class Solution:def permute(self, nums):result = []  # 存储所有的排列self.backtracking(nums, [], [False] * len(nums), result)  # 调用回溯函数开始排列生成return result  # 返回所有排列结果def backtracking(self, nums, path, used, result):# 基准条件:当路径长度等于nums长度时,说明已经生成了一个完整排列if len(path) == len(nums):result.append(path[:])  # 将当前排列添加到结果中return# 遍历每个元素,尝试放入路径中for i in range(len(nums)):# 如果nums[i]已经被使用过,跳过该元素if used[i]:continue# 标记当前元素为已使用used[i] = True# 将当前元素添加到路径中path.append(nums[i])# 递归生成下一个排列self.backtracking(nums, path, used, result)# 回溯:撤销当前选择path.pop()  # 从路径中移除当前元素used[i] = False  # 将当前元素标记为未使用,供后续递归使用

二、全排列II (Leetcode 47)

对于排列问题,树层上去重和树枝上去重,都是可以的,但是树层上去重效率更高!

class Solution:def permuteUnique(self, nums):nums.sort()  # 排序,方便去重result = []  # 存储所有唯一排列self.backtracking(nums, [], [False] * len(nums), result)  # 调用回溯函数return result  # 返回所有排列结果def backtracking(self, nums, path, used, result):# 基准条件:路径长度等于nums长度时,说明生成了一个完整排列if len(path) == len(nums):result.append(path[:])  # 将当前路径的副本加入结果return# 遍历每个元素,尝试加入当前路径for i in range(len(nums)):# 如果当前元素与前一个相同,并且前一个元素未被使用,则跳过,避免重复排列if (i > 0 and nums[i] == nums[i - 1] and not used[i - 1]) or used[i]:continue# 标记当前元素为已使用used[i] = Truepath.append(nums[i])  # 将当前元素加入路径self.backtracking(nums, path, used, result)  # 递归生成下一个排列path.pop()  # 回溯,移除当前元素used[i] = False  # 将当前元素标记为未使用,供后续递归使用

三、重新安排行程(Leetcode 332)

class Solution:def findItinerary(self, tickets: List[List[str]]) -> List[str]:self.adj = {}  # 用于存储每个城市到其他城市的航班# 将航班按目的地字母排序tickets.sort(key=lambda x: x[1])# 构建每个城市的邻接表for u, v in tickets:if u in self.adj:self.adj[u].append(v)else:self.adj[u] = [v]self.result = []  # 存储结果的路径self.dfs("JFK")  # 从JFK出发return self.result[::-1]  # 结果是反向的,返回反转后的路径def dfs(self, s):# 当城市有可用航班时,继续深度优先搜索while s in self.adj and len(self.adj[s]) > 0:v = self.adj[s][0]  # 选择字母顺序最小的目的地self.adj[s].pop(0)  # 移除已使用的航班self.dfs(v)  # 从新的城市继续深度搜索self.result.append(s)  # 记录当前城市

四、N皇后(Leetcode 51)

class Solution:def solveNQueens(self, n: int) -> List[List[str]]:result = []  # 存储最终结果的二维字符串数组,存放所有有效解# 初始化一个棋盘,棋盘是由 n 行字符串组成,每行包含 n 个 '.',表示空位置chessboard = ['.' * n for _ in range(n)]  # 使用 '.' 表示空格self.backtracking(n, 0, chessboard, result)  # 回溯求解,起始行从0开始# 将结果中的每行列表转换成字符串并返回return [[''.join(row) for row in solution] for solution in result]  def backtracking(self, n: int, row: int, chessboard: List[str], result: List[List[str]]) -> None:# Base case: 如果已经放置了 n 个皇后,说明找到了一种解if row == n:result.append(chessboard[:])  # 将当前棋盘布局加入到结果集中return# 对当前行的每一列进行尝试for col in range(n):# 如果当前位置合法,放置皇后并递归处理下一行if self.isValid(row, col, chessboard):# 放置皇后,修改棋盘当前行的列为 'Q'chessboard[row] = chessboard[row][:col] + 'Q' + chessboard[row][col+1:]# 递归处理下一行self.backtracking(n, row + 1, chessboard, result)# 回溯:撤销当前皇后的放置chessboard[row] = chessboard[row][:col] + '.' + chessboard[row][col+1:]def isValid(self, row: int, col: int, chessboard: List[str]) -> bool:# 检查当前列是否已经有皇后for i in range(row):if chessboard[i][col] == 'Q':return False  # 列冲突,返回不合法# 检查 45 度角方向(左上到右下的对角线)是否有皇后i, j = row - 1, col - 1while i >= 0 and j >= 0:if chessboard[i][j] == 'Q':return False  # 45度角冲突,返回不合法i -= 1j -= 1# 检查 135 度角方向(右上到左下的对角线)是否有皇后i, j = row - 1, col + 1while i >= 0 and j < len(chessboard):if chessboard[i][j] == 'Q':return False  # 135度角冲突,返回不合法i -= 1j += 1return True  # 没有冲突,当前位置合法
http://www.dtcms.com/a/440769.html

相关文章:

  • 网站 建设意见网页版淘宝网登录入口
  • 广西专业建网站西班牙网站后缀
  • 网站登录系统网络游戏开发平台
  • 行业网站名称wordpress下载页制作
  • express做静态网站昆明网站营销
  • 网站服务器租用价格怎么算直播软件有哪些
  • 上海网站建设服务公司时尚工作室网站源码
  • 免费二维码在线制作网站编辑 seo是什么 百度知道
  • 个人建设网站难吗好做的网站
  • 想兼职做网站推广网站设网站设计
  • 淄博网站建设高端网络威海吧
  • 公司设计网站需要多少钱住房和城乡建设部令第51号
  • 庐江住房建设局网站年度关键词
  • 彭阳网站建设多少钱重庆门户网站开发报价
  • 铜川公司做网站四川省建设厅网站在线申报
  • 网站的留言功能青岛做门户网站的有哪些
  • icp备案查询站长之家买布做衣裳 在哪个网站买好
  • 建设网站哪专业品牌推广论文
  • 重庆最有效的网站推广网站建设的流程是什么意思
  • 网站开发费怎么入账audio player wordpress
  • 苏州淘宝网站建设青岛网站建设公司效果
  • 容桂网站制作代理wordpress 登录评论
  • 海门网站建设培训二手商品网站开发背景
  • 广东省网站建设网站分类信息网站
  • 哈尔滨免费建站模板怎么自学互联网技术
  • 模仿网站建设站建设做二手物资哪个网站好
  • 网站开发所需经费网络服务器无响应可能原因
  • 建设网站需要哪些域名网站建设加盟创业
  • 网站开发产品设计公司深圳西乡
  • 湖北建设厅政务网站72建站网如何建设一个药材网站