找到 34423 篇文章 关于编程

Python 程序检查括号是否平衡

Arnab Chakraborty
更新于 2020年10月6日 05:49:35

202 次浏览

假设我们有一个字符串 s,它包含括号“(”和“)”。我们需要检查括号是否平衡。所以,如果输入类似于 s = "(()())(())",则输出将为 True。为了解决这个问题,我们将遵循以下步骤:-num_open := 0对于 s 中的每个字符 c,执行以下操作:如果 c 与 ')' 相同,则如果 num_open < 0,则num_open := num_open - 1否则,返回 False否则,num_open := num_open + 1返回 num_open 的反值让我们看看下面的实现,以便更好地理解:-示例 实时演示class Solution:    def solve(self, s):       num_open = 0   ... 阅读更多

Python 程序计算可以用 0 到 n 个值形成的唯一二叉搜索树的数量

Arnab Chakraborty
更新于 2020年10月6日 05:47:30

203 次浏览

假设我们有一个数字 n,我们需要找到我们可以用 [0, n) 中的数字生成的唯一 BST 的数量。如果答案非常大,则对结果取模 10^9+7。所以,如果输入类似于 n = 3,则输出将为 5。为了解决这个问题,我们将遵循以下步骤:-numer := 1denom := n + 1对于从 1 到 n 的范围内的 i,执行以下操作:numer := numer * n + inumer := numer mod mdenom := denom * idenom := denom mod mnumer := numer * (denom^(m-2)) mod m返回 numer mod m让我们看看下面的... 阅读更多

Python 程序查找唯一数组的连续区间

Arnab Chakraborty
更新于 2020年10月5日 14:58:01

579 次浏览

假设我们有一个称为 nums 的唯一数字列表。我们需要找到一个排序的二维数字矩阵,其中每个列表都表示一个包含区间,总结了 nums 中连续的数字。所以,如果输入类似于 nums = [10, 11, 12, 15, 16, 17, 28, 30],则输出将为 [[10, 12], [15, 17], [28, 28], [30, 30]],因为在列表 [10 到 12]、[15 到 17] 中是连续的,并且存在 28 和 30,它们表示为 [28 到 28] 和 [30 到 30]。为了解决这个问题,我们将遵循以下步骤:-对列表进行排序... 阅读更多

Python 程序检查字符串是否包含连续递减的字符串

Arnab Chakraborty
更新于 2020年10月5日 14:42:50

248 次浏览

假设我们有一个包含一些数字的字符串 s,我们需要检查它是否包含连续递减的整数。所以,如果输入类似于 s = "99989796",则输出将为 True,因为此字符串包含 [99, 98, 97, 96]。为了解决这个问题,我们将遵循以下步骤:-定义一个函数 helper()。它将接收 pos、prev_num如果 pos 与 n 相同,则返回 Truenum_digits := prev_num 的位数对于从 num_digits - 1 到 num_digits 的范围内的 i,执行以下操作:如果 s[从索引 pos 到 pos+i-1] 和 s[从索引 pos 到 pos+i-1] 的数字形式)与 prev_num - ... 阅读更多

Python 程序检查我们是否可以从任何城市访问任何城市

Arnab Chakraborty
更新于 2020年10月5日 14:25:52

738 次浏览

假设我们有 n 个城市,表示为 [0, n) 范围内的数字,我们还有一个单向道路列表,将一个城市连接到另一个城市。我们需要检查我们是否可以从任何城市到达任何城市。所以,如果输入类似于 n = 3,roads = [[0, 1], [0, 2], [1, 0], [1, 2], [2, 0], [2, 1]],则输出将为 True,因为您可以从 0 到 1,从 1 到 0。为了解决这个问题,我们将遵循以下步骤:-定义一个函数 dfs()。它将接收 i、visited、g将 i 标记为已访问对于... 阅读更多

Python 程序检查二叉树是否完整

Arnab Chakraborty
更新于 2020年10月5日 14:17:57

388 次浏览

假设我们有一棵二叉树;我们需要检查它是否为一棵完整的二叉树。众所周知,在完整的二叉树中,除了最后一层之外,所有层都填充了节点,并且最后一层中的所有节点都尽可能靠左。所以,如果输入类似于,则输出将为 True。为了解决这个问题,我们将遵循以下步骤:-q := 一个双端队列将根插入 q 的末尾flag := False当 q 不为空时,执行以下操作:temp := 从 q 的左侧删除后的元素如果 temp 为 null,则flag := True否则,当... 阅读更多

Python 程序计算翻转列以在目标中创建目标所需的最小操作次数

Arnab Chakraborty
更新于 2020年10月5日 14:06:56

168 次浏览

假设我们有一个矩阵 M 和一个具有相同行数和列数的目标矩阵 T。现在假设一个操作,我们在其中翻转矩阵中的特定列,以便所有 1 都转换为 0,所有 0 都转换为 1。所以,如果我们可以免费重新排序矩阵行,请找到将 M 转换为 T 所需的最小操作次数。如果没有解决方案,则返回 -1。所以,如果输入类似于 M =001011T =011011则输出将为 1,因为首先重新排序行以:-001110然后翻转列... 阅读更多

Python 程序计算将所有单元格变为相同颜色所需的操作次数

Arnab Chakraborty
更新于 2020年10月5日 13:53:12

167 次浏览

假设我们有一个二维矩阵 M。现在每个单元格都包含一个表示其颜色的值,并且具有相同颜色的相邻单元格(顶部、底部、左侧、右侧)将组合在一起。现在,考虑一个操作,我们用某种颜色设置一个组中的所有单元格。然后最终找到所需的最小操作次数,以便每个单元格都具有相同的颜色。并且当颜色发生转换时,它不能再次设置。所以,如果输入类似于222211112321则输出将为 2,因为我们可以将颜色为 2 的组填充为 1,并且... 阅读更多

Python 程序查找我们可以收集到的最大硬币数量

Arnab Chakraborty
更新于 2020年10月5日 13:45:25

1K+ 次浏览

假设我们有一个二维矩阵,其中每个单元格存储一些硬币。如果我们从 [0, 0] 开始,并且只能向右或向下移动,我们需要找到我们可以通过右下角收集到的最大硬币数量。所以,如果输入类似于14220005则输出将为 14,因为我们采用以下路径:[1, 4, 2, 2, 5]。为了解决这个问题,我们将遵循以下步骤:-对于从 1 到 A 的行数的范围内的 r,执行以下操作:A[r, 0] := A[r, 0] + A[r-1, 0]对于从 1 到 A 的列数的范围内的 c,执行以下操作:A[0, c] := A[0, c] ... 阅读更多

Python 程序查找二叉树中任何路径的最大总和

Arnab Chakraborty
更新于 2020年10月5日 13:19:36

114 次浏览

假设我们有一棵二叉树,我们需要找到从根节点到叶节点的任何路径的最大总和。所以,如果输入类似于,则输出将为 29,因为从根节点开始,如果我们遵循路径 5-

广告

© . All rights reserved.