找到 34423 篇文章,主题为编程

Python程序:计算顶点到顶点可达性矩阵

Arnab Chakraborty
更新于 2020年10月7日 12:46:39

275 次浏览

假设我们有一个图,用邻接表表示,我们需要找到一个二维矩阵 M,其中 M[i, j] = 1 表示顶点 i 和 j 之间存在路径,M[i, j] = 0 表示不存在路径。因此,如果输入如下所示,则输出将是 1111101111011110111101111 为了解决这个问题,我们将遵循以下步骤:ans:= 一个大小为 n x n 的二维矩阵,其中 n 是顶点数,用 0 填充for i in range 0 to n, doq:= 一个队列,并将 i 插入到开头while q is not empty, donode:= q 的第一个元素,并从 q 中删除第一个元素if ans[i, ... 阅读更多

Python程序:计算掷 n 个骰子的方法数

Arnab Chakraborty
更新于 2020年10月7日 12:40:00

197 次浏览

假设我们有一个数字 n(面的数量)和一个总值,我们需要找到掷 n 个每个面有 faces 个面的骰子得到总值的可能方法数。如果答案非常大,则对结果取模 10**9 + 7。因此,如果输入为 n = 2 faces = 6 total = 8,则输出为 5,因为有 5 种方法可以用两个 6 面骰子得到 8:(2 和 6),(6 和 2),(3 和 5),(5 和 3),(4 和 4)。为了解决这个问题,我们将遵循以下步骤: ... 阅读更多

Python程序:查找二叉树中每条对角线路径元素的总和

Arnab Chakraborty
更新于 2020年10月7日 12:37:45

109 次浏览

假设我们有一个二叉树,我们需要找到从顶部到底部右侧树中每条对角线的总和。因此,如果输入如下所示,则输出将是 [27, 18, 3],因为对角线是 [12, 15],[8, 10],[3]。因此总和值为 [27, 18, 3] 为了解决这个问题,我们将遵循以下步骤:定义一个函数 traverse()。这将需要节点、numLeft、输出如果节点为空,则返回如果 numLeft >= 输出大小,则将节点数据插入到输出的末尾否则,output[numLeft] := output[numLeft] + 节点数据如果 ... 阅读更多

C++程序:将矩阵中的每个对角线元素按升序排序

Arnab Chakraborty
更新于 2020年10月7日 12:34:41

451 次浏览

假设我们有一个 n x m 矩阵 Mat,我们需要从左上到右下按升序对该 Mat 进行对角线排序,以便对角线上的所有元素都已排序。因此,如果输入矩阵如下所示:331122121112 则输出矩阵将是:111112221233 为了解决这个问题,我们将遵循以下步骤:定义一个名为 solve() 的方法,这将需要 si、sj 和矩阵 matn:= 行数和 m:= 列数创建一个名为 temp 的数组i:= si 和 j:= sj,以及 index:= 0while i < n and j < m, do将 m[i, j] 插入到 ... 阅读更多

Python程序:查找赢得删除重复整数游戏的移动次数

Arnab Chakraborty
更新于 2020年10月7日 12:29:47

115 次浏览

假设两位朋友 Amal 和 Bimal 正在玩一个游戏,游戏使用一个名为 nums 的排序数字列表。在这个游戏中,在一轮中,Amal 选择任意三个数字。Bimal 删除其中一个,然后 Amal 删除另一个。列表最初包含奇数个元素。在这里,Amla 希望最大限度地减少使列表不包含重复元素所需的回合数,Bimal 希望最大限度地增加回合数。如果 Amal 和 Bimal 最佳行动,我们需要找到这个游戏所需的回合数。因此,如果输入是 ... 阅读更多

Python程序:通过从开头或结尾删除并再次插入来创建目标

Arnab Chakraborty
更新于 2020年10月7日 12:27:15

91 次浏览

假设我们有两个字符串 S 和 T,它们是彼此的排列。假设有一个操作,我们从中删除 S 的第一个或最后一个字符,并将其插入字符串的任何位置。然后找到将 S 转换为 T 所需的最少操作次数。因此,如果输入类似于 s = "zyvxw" t = "vwxyz",则输出将为 3,因为这些操作是:删除 "w" 并将其插入 "v" 之后以获得 "zyvwx" 删除 "z" 并将其插入 "x" 之后以获得 "yvwxz" 删除 "y" 并将其插入 "x" ... 阅读更多

Python程序:从二叉树中删除所有具有偶数值的叶子节点

Arnab Chakraborty
更新于 2020年10月7日 11:55:18

349 次浏览

假设我们有一个二叉树,我们将重复删除所有具有偶数值的叶子节点。删除所有节点后,如果它只有一个具有偶数值的根节点,则该节点也将被删除。因此,如果输入如下所示,则输出将是 为了解决这个问题,我们将遵循以下步骤:定义一个函数 solve()。这将需要 root如果 root 为空,则返回 nullroot 的左子树 := solve(root 的左子树)root 的右子树 := solve(root 的右子树)如果 root 是叶子节点并且 root 的数据为偶数,则返回 null返回 root让我们看看以下实现以更好地理解:示例类 TreeNode: ... 阅读更多

Python程序:查找解码消息的方法数

Arnab Chakraborty
更新于 2020年10月7日 11:45:07

313 次浏览

假设我们有这样的映射:'a' = 1,'b' = 2,... 'z' = 26,并且我们有一个编码的消息字符串,我们需要计算它可以解码的方法数。因此,如果输入类似于 message = "222",则输出将为 3,因为它可以以 3 种方式解码:bbb、bv 和 vb。为了解决这个问题,我们将遵循以下步骤:memo:= 一个大小与消息大小相同的 0 列表 + 1memo[0]:= 1memo[1]:= 1,当 message[0] 不等于 "0",否则为 0for i in range 2 to size ... 阅读更多

Python程序:检查字符串的两个部分是否为回文

Arnab Chakraborty
更新于 2020年10月7日 11:07:03

276 次浏览

假设我们有两个长度相同的字符串 S 和 T,我们需要检查是否可以同时在公共点处切割这两个字符串,以便 S 的第一部分和 T 的第二部分形成一个回文。因此,如果输入类似于 S = "cat" T = "pac",则输出将为 True,因为如果我们将字符串切割成 "c" + "at" 和 "d" + "ac",则 "c" + "ac" 是一个回文。为了解决这个问题,我们将遵循以下步骤:n:= a 的大小i:= 0while i < n and a[i] ... 阅读更多

Python程序:检查我们能否完成所有课程

Arnab Chakraborty
更新于 2020年10月7日 11:03:47

131 次浏览

假设我们有一个二维矩阵,其中 matrix[i] 代表选修课程 i 所需的先修课程列表。现在,我们必须检查是否可以选修所有课程。因此,如果输入类似于 matrix = [[1], [2], []],则输出将为 True,因为我们可以先选修课程 2,然后选修课程 1,最后选修课程 0。为了解决这个问题,我们将遵循以下步骤:定义一个函数 dfs()。这将采用 i如果 vis[i] 为真,则返回 false如果 chk[i] 为真,则返回 Truevis[i]:= True对于 matrix[i] 中的每个 j,执行如果 dfs(j) 为假,则返回 Falsevis[i]:= Falsechk[i]:= ... 阅读更多

广告
© . All rights reserved.