找到 34423 篇文章 关于编程

使用 Python 查找良好叶子节点对的数量的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 13:54:36

261 次查看

假设我们有一棵二叉树。还有一个值距离 d。当这两个节点之间的最短路径小于或等于距离 d 时,一对两个不同的叶子节点被称为良好。因此,如果输入类似于,并且距离 d = 4,则输出将为 2,因为对是 (8, 7) 和 (5, 6),因为它们的路径长度距离为 2,但 (7, 5) 或 (8, 6) 或其他对不是良好的,因为它们的路径长度为 5,大于 d = 4。为了解决这个问题,我们将遵循以下步骤... 阅读更多

使用 Python 使用二进制字符串制作灯泡开关的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 13:55:18

931 次查看

假设我们有一个房间里有 n 个灯泡,这些灯泡从 0 到 n-1 编号。我们必须将它们从左到右排成一行。最初,所有灯泡都关闭(0 状态)。我们必须获得由给定目标数组 't' 表示的配置,其中 t[i] 为 '1' 如果第 i 个灯泡打开,为 '0' 如果它关闭。我们还有一个开关来翻转灯泡的状态。翻转操作定义如下:选择任何灯泡索引 i。翻转从索引 i 到索引 n - 1 的每个灯泡。我们必须... 阅读更多

使用 Python 查找拆分字符串的良好方法数量的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:51:55

303 次查看

假设我们有一个字符串 s。现在,当我们可以将 s 拆分为两个非空字符串 p 和 q 时,拆分被称为良好拆分,其中其连接等于 s 并且 p 和 q 中的不同字母的数量相等。我们必须找到可以在 s 中进行的良好拆分数量。因此,如果输入类似于 s = "xxzxyx",则输出将为 2,因为有多种拆分方式,但如果我们像 ("xxz", "xyx") 或 ("xxzx", "yx") 那样拆分,则它们是良好的。为了解决这个问题,我们将... 阅读更多

使用 Python 查找奇数和的子数组数量的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:53:52

156 次查看

假设我们有一个数组 arr。我们必须找到奇数和的子数组的数量。如果答案太大,则返回结果模 10^9+7。因此,如果输入类似于 arr = [8, 3, 7],则输出将为 3,因为所有子数组都是 [[8], [3], [7], [8, 3], [3, 7], [8, 3, 7]]。现在它们的和值为 [8, 3, 7, 11, 10, 18],所以有三个奇数和值 [3, 7, 11]。为了解决这个问题,我们将遵循以下步骤:freq := 一个有两个元素 1 和 0 的列表 ans := 0 prefix := ... 阅读更多

使用 Python 查找具有相同标签的子树中的节点数量的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:54:53

374 次查看

假设我们有一棵有 n 个节点的根通用树,其节点从 0 到 n-1 编号。每个节点都有一个带有小写英文字母的标签。标签作为输入给出在标签数组中,其中 lables[i] 包含第 i 个节点的标签。树由边列表表示,其中每条边 e 都有 [u, v] 表示 u 是父节点,v 是子节点。我们必须找到一个大小为 n 的数组 A,表示第 i 个节点的子树中与 i 相同标签的节点数量。因此,如果输入类似于这里 n = 5 并且... 阅读更多

使用 Python 查找具有最大概率的路径的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:56:07

428 次查看

假设我们有一个具有 n 个节点的无向加权图(节点从 0 开始编号),此图使用边列表作为输入给出,对于每条边 e,它都有一个遍历该边的成功概率 probability[e]。我们还有起点和终点节点,我们必须找到从起点到终点具有最大成功概率的路径并返回其成功概率。如果我们找不到任何路径,则返回 0。因此,如果输入类似于,则输出将为 0.24,因为从节点 0 到 2 有两条路径,一条... 阅读更多

使用 Python 查找仅包含 1 的子字符串数量的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:57:04

129 次查看

假设我们有一个二进制字符串 s。我们必须找到所有字符都是 1 的子字符串的数量。答案可能非常大,因此返回结果模 10^9 + 7。因此,如果输入类似于 s = "1011010",则输出将为 5,因为 1. 四次 "1" 2. 一次 "11"。为了解决这个问题,我们将遵循以下步骤:m := 10^9+7 result := 0 div := 使用 '0' 分割二进制字符串以将其划分。对于 div 中的每个 x,执行如果 x 为空,则转到下一个迭代 result := result + (x 的大小 * (x 的大小的... 阅读更多

使用 Python 查找三次操作后最大值和最小值之间最小差值的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:57:41

585 次查看

假设我们有一个名为 nums 的数组。我们可以在一步中将此数组中的一个元素更改为任何值。我们必须找到在最多执行 3 次操作后 nums 的最大值和最小值之间的最小差值。因此,如果输入类似于 nums = [3,7,2,12,16],则输出将为 1,因为我们可以将给定数组设为 [1,1,0,1,1],因此最大值为 1,最小值为 0,因此差值为 1。为了解决这个问题,我们将遵循以下步骤:如果 nums 的大小

使用 Python 查找排序子数组和的范围和的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:58:22

340 次查看

假设我们有一个数组 nums,其中包含 n 个正元素。如果我们计算 nums 的所有非空连续子数组的和,然后按非递减顺序对它们进行排序,方法是创建一个包含 n*(n+1)/2 个数字的新数组。我们必须找到新数组中从索引 left 到索引 right(1 索引)的数字之和,包括在内。答案可能非常大,因此返回结果模 10^9 + 7。因此,如果输入类似于 nums = [1, 5, 2, 6] left = 1 right = 5,则输出将为 20,因为这里所有子数组和是... 阅读更多

使用 Python 统计所有元素都为 1 的子矩阵数量的程序

Arnab Chakraborty
更新于 2021 年 5 月 29 日 12:59:14

524 次查看

假设我们有一个 m x n 二进制矩阵,我们必须找到有多少个子矩阵的所有元素都为 1。因此,如果输入类似于 101011011,则输出将为 13,因为有 6 个 (1x1) 矩阵,3 个 (2, 1) 矩阵,2 个 (1x2) 矩阵,1 个 (3x1) 矩阵和 1 个 (4x4) 矩阵。为了解决这个问题,我们将遵循以下步骤:m := 矩阵的行数 n := 矩阵的列数 dp := 一个与矩阵相同大小 m x n 的零矩阵 对于 i 范围从 0 到 m - 1,执行对于 j 范围从 0 到 n - 1,执行如果 i 与 0 相同并且... 阅读更多

广告

© . All rights reserved.