找到 34423 篇文章,关于编程

Python 中使用泛洪填充操作填充颜色的程序

Arnab Chakraborty
更新于 2020年10月20日 07:12:10

220 次浏览

假设我们有一个二维网格,包含颜色字符串“r”、“g”和“b”。我们必须使用颜色 target 对行 r、列 c 执行泛洪填充操作。众所周知,泛洪填充操作应将连接到 grid[r, c](上/右/下/左)且与 grid[r, c] 颜色相同的元素替换为与 target 相同的颜色。因此,如果输入类似于 RRRRGBGBB,则输出将为 GGGGGBGBB,因为连接到 grid[0, 0] 的红色单元格已替换为绿色 (“g”)。为了解决这个问题,我们将遵循以下步骤:定义一个新的集合 seen;oldcolor := matrix[r, c];定义一个函数 dfs() ... 阅读更多

Python 中将相同连续元素打包到子列表中的程序

Arnab Chakraborty
更新于 2020年10月20日 07:07:54

450 次浏览

假设我们有一个数字列表 nums,我们将把相同值的连续元素打包到子列表中。我们必须记住,如果列表中只有一个出现,它仍然应该在它自己的子列表中。因此,如果输入类似于 nums = [5, 5, 2, 7, 7, 7, 2, 2, 2, 2],则输出将为 [[5, 5], [2], [7, 7, 7], [2, 2, 2, 2]]。为了解决这个问题,我们将遵循以下步骤:如果 nums 为空,则返回一个新列表;result := 一个包含另一个列表的列表,该列表包含 nums[0];j := 0;for ... 阅读更多

Python 中查找插入区间列表的最小可能区间的程序

Arnab Chakraborty
更新于 2020年10月19日 16:19:58

105 次浏览

假设我们有一个二维数字列表 intervals,其中每一行都表示 [start, end](包含)区间。对于区间 [a, b] (a < b),其大小为 (b - a)。我们必须向给定列表添加一个区间,这样,在合并所有区间后,我们恰好剩下一个范围。我们必须找到添加区间的最小可能大小。因此,如果输入类似于 intervals = [[15, 20], [30, 50]],则输出将为 10,因为我们可以添加区间 [20, 30],这是最小可能的区间。为了解决这个问题,我们 ... 阅读更多

Python 中查找将列表缩减为一个整数的最小成本的程序

Arnab Chakraborty
更新于 2020年10月19日 16:14:56

720 次浏览

假设我们有一个数字列表 nums。我们可以通过取任意两个数字、删除它们并在末尾附加它们的和来减少 nums 的长度。执行此操作的成本是删除的两个整数的和。我们必须找到将 nums 缩减为一个整数的最小总成本。因此,如果输入类似于 nums = [2, 3, 4, 5, 6],则输出将为 45,因为我们取 2 和 3 然后删除得到 [4, 5, 6, 5],然后我们取 4 和 5 然后删除到 ... 阅读更多

Python 中检查两个字符串是否相距 0 或 1 个编辑距离的程序

Arnab Chakraborty
更新于 2020年10月19日 16:10:51

337 次浏览

假设我们有两个字符串 S 和 T,我们必须检查它们是否相距一个或零个编辑距离。编辑操作可以定义为删除字符、添加字符或用另一个字符替换字符。因此,如果输入类似于 S = "hello",T = "hallo",则输出将为 True,因为这两个字符串的编辑距离为 1。为了解决这个问题,我们将遵循以下步骤:m := S 的大小,n := T 的大小;i := 0,j := 0;count := 0;如果 |m - n| > 1,则返回 False;while ... 阅读更多

Python 中查找除当前索引之外所有元素乘积的列表的程序

Arnab Chakraborty
更新于 2020年10月19日 16:07:20

544 次浏览

假设我们有一个数字列表 nums,我们必须找到一个新列表,使得新生成的列表中索引 i 处的每个元素都是原始列表中除索引 i 处的元素之外的所有数字的乘积。这里我们必须在不使用除法的情况下解决它。因此,如果输入类似于 nums = [2, 3, 4, 5, 6],则输出将为 [360, 240, 180, 144, 120]。为了解决这个问题,我们将遵循以下步骤:如果 nums 的大小 < 1,则返回 nums;l := nums 的大小;left := 大小为 ... 的列表 阅读更多

Python 中检查所有回文子串是否都是奇数长度的程序

Arnab Chakraborty
更新于 2020年10月19日 16:05:05

228 次浏览

假设我们有一个字符串 s,我们必须检查其所有回文子串是否都是奇数长度的。因此,如果输入类似于 s = "level",则输出将为 True。为了解决这个问题,我们将遵循以下步骤:对于范围 1 到 s 大小的 i,如果 s[i] 与 s[i - 1] 相同,则返回 False;返回 True。让我们看看以下实现以更好地理解:示例实时演示类解决方案: def solve(self, s): for i in range(1, len(s)): if s[i] == s[i - 1]: ... 阅读更多

Python 中查找到达最终位置所需的最小跳跃次数的程序

Arnab Chakraborty
更新于 2020年10月19日 15:53:40

528 次浏览

假设我们有一个数组 nums,其中所有元素都是正数。我们在索引 0 处。这里,数组中的每个元素都表示我们在该位置的最大跳跃长度。我们的目标是以较少的跳跃次数到达最终索引 (n-1,其中 n 是 nums 的大小)。因此,如果数组类似于 [2, 3, 1, 1, 4],则输出将为 2,因为我们可以从 0 跳到索引 1,然后跳到索引 4,即最后一个索引。为了解决这个问题,我们将遵循以下步骤:end := 0,jumps := ... 阅读更多

Python 中检查每个人是否至少有一个朋友的程序

Arnab Chakraborty
更新于 2020年10月19日 15:48:52

295 次浏览

假设我们有 n 个人,用 0 到 n - 1 的数字表示,我们还有一个朋友元组列表,其中 friends[i][0] 和 friends[i][1] 是朋友。我们必须检查每个人是否至少有一个朋友。因此,如果输入类似于 n = 3 friends = [[0, 1], [1, 2]],则输出将为 True,因为 Person 0 是 Person 1 的朋友,Person 1 是 Person 0 和 2 的朋友,Person 2 是 Person 1 的朋友。为了解决这个问题,我们将遵循以下步骤:people := 一个列表 ... 阅读更多

Python 中查找二叉树中最频繁的子树和的程序

Arnab Chakraborty
更新于 2020年10月19日 15:45:49

148 次浏览

假设我们有一棵二叉树,我们必须找到最频繁的子树和。节点的子树和实际上是节点下所有值的总和,包括节点本身。因此,如果输入类似于,则输出将为 3,因为它出现了两次:一次作为左叶,一次作为 3 - 6 + 6 的和。为了解决这个问题,我们将遵循以下步骤:count := 一个空映射;定义一个函数 getSum()。这将采用节点;如果节点为空,则返回 0;mySum := getSum(节点的左子树) + getSum(节点的右子树) + ... 阅读更多

广告
© . All rights reserved.