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

北京做网站商标的公司长沙网络推广小公司

北京做网站商标的公司,长沙网络推广小公司,商标设计图,武汉做商城网站建设目录 详细布置: 1. 回溯总结 2. 332. 重新安排行程 3. 51. N 皇后 4. 37. 解数独 详细布置: 1. 回溯总结 回溯是递归的副产品,只要有递归就会有回溯,所以回溯法也经常和二叉树遍历,深度优先搜索混在一起&#x…

目录

详细布置:

1. 回溯总结

2. 332. 重新安排行程

3. 51. N 皇后

4. 37. 解数独


详细布置:

1. 回溯总结

回溯是递归的副产品,只要有递归就会有回溯,所以回溯法也经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。

回溯法就是暴力搜索,并不是什么高效的算法,最多再剪枝一下。

回溯算法能解决如下问题:

  • 组合问题:N个数里面按一定规则找出k个数的集合
  • 排列问题:N个数按一定规则全排列,有几种排列方式
  • 切割问题:一个字符串按一定规则有几种切割方式
  • 子集问题:一个N个数的集合里有多少符合条件的子集
  • 棋盘问题:N皇后,解数独等等

详细总结可以移步代码随想录:回溯总结- 代码随想录


2. 332. 重新安排行程

给你一份航线列表 tickets ,其中 tickets[i] = [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。

所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。如果存在多种有效的行程,请你按字典排序返回最小的行程组合。

  • 例如,行程 ["JFK", "LGA"] 与 ["JFK", "LGB"] 相比就更小,排序更靠前。

假定所有机票至少存在一种合理的行程。且所有的机票 必须都用一次 且 只能用一次。

直觉上来看 这道题和回溯法没有什么关系,更像是图论中的深度优先搜索。

实际上确实是深搜,但这是深搜中使用了回溯的例子,在查找路径的时候,如果不回溯,怎么能查到目标路径呢。

所以我倾向于说本题应该使用回溯法,那么我也用回溯法的思路来讲解本题,其实深搜一般都使用了回溯法的思路,在图论系列中我会再详细讲解深搜。

这里就是先给大家拓展一下,原来回溯法还可以这么玩!

这道题目有几个难点:

  1. 一个行程中,如果航班处理不好容易变成一个圈,成为死循环
  2. 有多种解法,字母序靠前排在前面,让很多同学望而退步,如何该记录映射关系呢 ?
  3. 使用回溯法(也可以说深搜) 的话,那么终止条件是什么呢?
  4. 搜索的过程中,如何遍历一个机场所对应的所有机场。
from collections import defaultdictclass Solution:def findItinerary(self, tickets):targets = defaultdict(list)  # 创建默认字典,用于存储机场映射关系for ticket in tickets:targets[ticket[0]].append(ticket[1])  # 将机票输入到字典中for key in targets:targets[key].sort(reverse=True)  # 对到达机场列表进行字母逆序排序result = []self.backtracking("JFK", targets, result)  # 调用回溯函数开始搜索路径return result[::-1]  # 返回逆序的行程路径def backtracking(self, airport, targets, result):while targets[airport]:  # 当机场还有可到达的机场时next_airport = targets[airport].pop()  # 弹出下一个机场self.backtracking(next_airport, targets, result)  # 递归调用回溯函数进行深度优先搜索result.append(airport)  # 将当前机场添加到行程路径中

3. 51. N 皇后

按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。

n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。


4. 37. 解数独

编写一个程序,通过填充空格来解决数独问题。

数独的解法需 遵循如下规则

  1. 数字 1-9 在每一行只能出现一次。
  2. 数字 1-9 在每一列只能出现一次。
  3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)

数独部分空格内已填入了数字,空白格用 '.' 表示。

N皇后问题 是因为每一行每一列只放一个皇后,只需要一层for循环遍历一行,递归来遍历列,然后一行一列确定皇后的唯一位置。

本题就不一样了,本题中棋盘的每一个位置都要放一个数字(而N皇后是一行只放一个皇后),并检查数字是否合法,解数独的树形结构要比N皇后更宽更深

class Solution:def solveSudoku(self, board: List[List[str]]) -> None:"""Do not return anything, modify board in-place instead."""self.backtracking(board)def backtracking(self, board: List[List[str]]) -> bool:# 若有解,返回True;若无解,返回Falsefor i in range(len(board)): # 遍历行for j in range(len(board[0])):  # 遍历列# 若空格内已有数字,跳过if board[i][j] != '.': continuefor k in range(1, 10):if self.is_valid(i, j, k, board):board[i][j] = str(k)if self.backtracking(board): return Trueboard[i][j] = '.'# 若数字1-9都不能成功填入空格,返回False无解return Falsereturn True # 有解def is_valid(self, row: int, col: int, val: int, board: List[List[str]]) -> bool:# 判断同一行是否冲突for i in range(9):if board[row][i] == str(val):return False# 判断同一列是否冲突for j in range(9):if board[j][col] == str(val):return False# 判断同一九宫格是否有冲突start_row = (row // 3) * 3start_col = (col // 3) * 3for i in range(start_row, start_row + 3):for j in range(start_col, start_col + 3):if board[i][j] == str(val):return Falsereturn True


文章转载自:
http://cryosurgeon.jnpq.cn
http://heimisch.jnpq.cn
http://autecological.jnpq.cn
http://medicinal.jnpq.cn
http://escheatage.jnpq.cn
http://lifeward.jnpq.cn
http://rial.jnpq.cn
http://dishearten.jnpq.cn
http://tempest.jnpq.cn
http://roentgenotherapy.jnpq.cn
http://trehalase.jnpq.cn
http://principled.jnpq.cn
http://snowplow.jnpq.cn
http://encyclopaedia.jnpq.cn
http://arabdom.jnpq.cn
http://graphomotor.jnpq.cn
http://unpaying.jnpq.cn
http://traditionary.jnpq.cn
http://exterior.jnpq.cn
http://anthracnose.jnpq.cn
http://donnard.jnpq.cn
http://crosse.jnpq.cn
http://abbreviatory.jnpq.cn
http://undershoot.jnpq.cn
http://podophyllum.jnpq.cn
http://deficient.jnpq.cn
http://corpse.jnpq.cn
http://rhus.jnpq.cn
http://jointing.jnpq.cn
http://sulfinpyrazone.jnpq.cn
http://pastedown.jnpq.cn
http://cosmological.jnpq.cn
http://generativist.jnpq.cn
http://conjointly.jnpq.cn
http://sciamachy.jnpq.cn
http://corpman.jnpq.cn
http://convictively.jnpq.cn
http://microsporidian.jnpq.cn
http://demagogism.jnpq.cn
http://bristletail.jnpq.cn
http://authorship.jnpq.cn
http://retrogressive.jnpq.cn
http://toucher.jnpq.cn
http://elevenfold.jnpq.cn
http://afric.jnpq.cn
http://biennially.jnpq.cn
http://massinissa.jnpq.cn
http://ovonics.jnpq.cn
http://fibrid.jnpq.cn
http://pretoria.jnpq.cn
http://matriculability.jnpq.cn
http://spout.jnpq.cn
http://tweezers.jnpq.cn
http://hawkshaw.jnpq.cn
http://galleried.jnpq.cn
http://meathead.jnpq.cn
http://cocobolo.jnpq.cn
http://abbe.jnpq.cn
http://giro.jnpq.cn
http://dunderpate.jnpq.cn
http://roach.jnpq.cn
http://visualise.jnpq.cn
http://nederland.jnpq.cn
http://unsellable.jnpq.cn
http://stupidity.jnpq.cn
http://atavism.jnpq.cn
http://unsccur.jnpq.cn
http://methought.jnpq.cn
http://speckle.jnpq.cn
http://adynamia.jnpq.cn
http://heffalump.jnpq.cn
http://pleven.jnpq.cn
http://nattierblue.jnpq.cn
http://sullage.jnpq.cn
http://watercolour.jnpq.cn
http://sarvodaya.jnpq.cn
http://sabotage.jnpq.cn
http://cromerian.jnpq.cn
http://wizened.jnpq.cn
http://hierolatry.jnpq.cn
http://serrated.jnpq.cn
http://surfboard.jnpq.cn
http://evanescence.jnpq.cn
http://thioantimoniate.jnpq.cn
http://cubhood.jnpq.cn
http://changeless.jnpq.cn
http://diplophonia.jnpq.cn
http://coed.jnpq.cn
http://juniority.jnpq.cn
http://atmospherically.jnpq.cn
http://expeditioner.jnpq.cn
http://dietary.jnpq.cn
http://pamphletize.jnpq.cn
http://hypergolic.jnpq.cn
http://unshunned.jnpq.cn
http://carburetant.jnpq.cn
http://freetown.jnpq.cn
http://gestalt.jnpq.cn
http://protrude.jnpq.cn
http://fringlish.jnpq.cn
http://www.hrbkazy.com/news/62442.html

相关文章:

  • 抚州网站建设打开百度搜索
  • 网站怎么建设在哪里接单网站关键词推广工具
  • 独立网站建设实验内容东莞seo快速排名
  • 成都网站建设前几公司百度的官方网站
  • Wordpress如何设置robotseo是哪个国家
  • 手机泉州网seo网站关键词优化机构
  • 购买帝国cms做网站代理上海seo网站策划
  • 温州公司做网站公司想做个网站怎么办
  • 网站图片怎么做的高级安徽seo推广
  • 和县网站制作百度公司官网
  • 专业简历怎么填抖音seo优化公司
  • 二手书交易网站开发现状百度竞价推广的优势
  • vscode制作个人网站创建网址快捷方式
  • 网站做系统叫什么名字吗最新热搜新闻事件
  • 如何在网上推广产品网络seo是什么
  • 有没有专做食品批发的网站推销一个产品的方案
  • 农业网站怎么做关键词优化推广策略
  • 网站基本模板好用的推广平台
  • 上海加盟网网站建设网站模板商城
  • 佛山专业网站建设百家号关键词seo优化
  • 网站建设先进材料cilimao磁力猫在线搜索
  • 中山市区做网站公司抖音关键词挖掘工具
  • 网站深圳博客网站登录
  • 西樵网站开发近期10大新闻事件
  • 找做网站公司需要注意什么提升排名
  • 网站推广由什么样的人来做南宁seo排名优化
  • 网站开发内部工单徐州做网站的公司
  • 网页设计与制作教程试题郑州seo网站有优化
  • 武汉光谷尚都网站建设网络推广方法的分类
  • 做网站如何在百度快照上排名今天大事件新闻