找到 34423 篇文章 关于编程

Python程序:求解8数码难题所需步数

Arnab Chakraborty
更新于 2020年12月2日 05:24:32

13K+ 次浏览

假设我们有一个3x3的棋盘,所有数字都在0到8的范围内,并且没有重复的数字。现在,我们可以将0与它的四个邻居之一交换,我们试图解决它以获得所有排列的序列,我们必须找到达到目标所需的最小步数。因此,如果输入是这样的:312475680,那么输出将是4。为了解决这个问题,我们将遵循以下步骤:定义一个函数find_next()。这将采用节点moves := 一个映射,定义移动为与每个值对应的列表 {0: [1, 3], ... 阅读更多

Python程序:检查是否可以通过放置运算符来构成24

Arnab Chakraborty
更新于 2020年12月2日 05:22:21

79 次浏览

假设我们有四个数字的列表,每个数字都在1到9的范围内,并且顺序固定。现在,如果我们在数字之间放置运算符+、-、*和/(/表示整数除法),并用括号将它们组合起来,我们必须检查是否可以得到值24。因此,如果输入是这样的:nums = [5, 3, 6, 8, 7],那么输出将是True,因为(5 * 3) - 6 + (8 + 7) = 24。为了解决这个问题,我们将遵循以下步骤:定义一个函数recur()。... 阅读更多

Python程序:计算烧毁所有树木所需的天数

Arnab Chakraborty
更新于 2020年12月2日 05:20:03

735 次浏览

假设我们有一个二维矩阵代表一个森林,其中有三种类型的单元格:0 空单元格 1 树单元格 2 着火的树单元格。每天,当相邻(上、下、左、右,非对角线)的树着火时,一棵树就会着火。我们必须找到使每棵树都着火所需的天数。如果不可能,则返回-1。因此,如果输入是这样的:121101111,那么输出将是4。为了解决这个问题,我们将遵循以下步骤:ans := 0 twos := 一个新列表 for i in ... 阅读更多

Python程序:计算和为k的路径数

Arnab Chakraborty
更新于 2020年12月2日 05:16:32

140 次浏览

假设我们有一棵二叉树和另一个值k,我们必须找到总和为k的唯一节点到子节点路径的数量。因此,如果输入是这样的,并且k = 5,那么输出将是2,因为路径是[2, 3]和[1, 4]。为了解决这个问题,我们将遵循以下步骤:count := 一个初始值为键0值为1的映射 ans := 0, prefix := 0 定义一个函数dfs()。这将采用节点如果节点不是null,则prefix := prefix + 节点的值 ans := ans + (count[prefix - target], ... 阅读更多

Python程序:检查是否可以对树进行着色,使得没有相邻节点具有相同的颜色

Arnab Chakraborty
更新于 2020年12月2日 05:15:00

183 次浏览

假设我们有一棵二叉树,其中每个节点的值代表它的颜色。树中最多有2种颜色。我们必须检查是否可以交换节点的颜色任意次,以便没有两个连接的节点具有相同的颜色。因此,如果输入是这样的,那么输出将是True,因为我们可以得到。为了解决这个问题,我们将遵循以下步骤:colors := 一个空映射 prop := 一个空映射 定义一个函数dfs()。这将采用节点和标志如果节点为null,则返回colors[节点的值] := ... 阅读更多

Python程序:按从高到低的排名顺序查找团队的最终排名

Arnab Chakraborty
更新于 2020年12月2日 05:13:14

292 次浏览

假设我们有一个名为votes的字符串列表,这里每个条目都是小写字母,它们代表按从最高到最低的偏好顺序对候选人的投票。这里候选人的排名首先取决于在最高偏好上收到的票数。现在,如果存在平局,我们将检查在下一个最高偏好上收到的票数,依此类推。如果仍然存在平局,则将按字母顺序排列。因此,我们必须找到团队的最终排名,按从最高到最低的排名顺序排列。因此,如果输入是... 阅读更多

Python程序:计算n个人翻转后将打开的开关数量

Arnab Chakraborty
更新于 2020年12月2日 05:12:05

343 次浏览

假设我们有一个数字n,房间里有n个开关,所有开关都关闭。现在n个人翻转开关如下:第1个人翻转所有是1的倍数的开关(所以所有开关)。第2个人翻转是2的倍数的开关(2, 4, 6, ...)第i个人翻转是i的倍数的开关。我们必须找到最终打开的开关数量。因此,如果输入是这样的:n = 5,那么输出将是2,因为最初所有开关都是关闭的[0, 0, 0, 0, 0],... 阅读更多

Python程序:计算矩阵中被包围的岛屿数量

Arnab Chakraborty
更新于 2020年12月2日 05:10:50

508 次浏览

假设我们有一个二进制矩阵。其中1代表陆地,0代表水。众所周知,岛屿是一组聚集在一起的1,其周长被水包围。我们必须找到完全被包围的岛屿的数量。因此,如果输入是这样的,那么输出将是2,因为有三座岛屿,但其中两座完全被包围。为了解决这个问题,我们将遵循以下步骤:定义一个函数dfs()。这将采用i, j如果i和j不在矩阵范围内,则返回False如果matrix[i, j]与0相同,... 阅读更多

Python程序:查找二叉树路径形成的所有数字之和

Arnab Chakraborty
更新于 2020年12月2日 05:08:32

238 次浏览

假设我们有一棵二叉树,其中每个节点包含一个从0到9的单个数字。现在,从根到叶的每条路径都表示一个数字,其数字按顺序排列。我们必须找到树中所有路径表示的数字之和。因此,如果输入是这样的,那么输出将是680,因为46(4 → 6)、432(4 → 3 → 2)、435(4 → 3 → 5),它们的和是913。为了解决这个问题,我们将遵循以下步骤:定义一个函数solve()。这将采用根,字符串:= 空白... 阅读更多

Python程序:计算单词列表中存在的子序列数量

Arnab Chakraborty
更新于 2020年12月2日 05:07:01

345 次浏览

假设我们有一个单词列表和一个字符串 s,我们需要找到单词列表中作为 s 的子序列的字符串数量。例如,如果输入是 words = ["xz", "xw", "y"] s = "xyz",则输出为 2,因为 "xz" 和 "y" 是 "xyz" 的子序列。为了解决这个问题,我们将遵循以下步骤:ans := 0,d := 一个空映射,对于 words 中的每个单词,将单词插入到 d[word[0]] 的末尾,对于 s 中的每个字符 c,l := d[c],d[c] := 一个新列表,对于 l 中的每个单词,如果单词的长度是……阅读更多

广告
© . All rights reserved.