找到关于 Python 的10786 篇文章

使用 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。每个节点都有一个带有小写英文字母的标签。标签作为输入在 labels 数组中给出,其中 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 次浏览

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

使用 Python 计数所有为一的子矩阵的程序

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

524 次浏览

假设我们有一个 m x n 二进制矩阵,我们必须找到有多少个子矩阵都为一。因此,如果输入类似于 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,并且……阅读更多

使用 Python 计数所有为一的正方形子矩阵数量的程序

Arnab Chakraborty
更新于 2021年5月29日 13:00:15

152 次浏览

假设我们有一个 m x n 二进制矩阵,我们必须找到有多少个正方形子矩阵都为一。因此,如果输入类似于 .011111110111,则输出将是 15,因为有 10 个边长为 1 的正方形。4 个边长为 2 的正方形和 1 个边长为 3 的正方形。那么正方形的总数 = 10 + 4 + 1 = 15。为了解决这个问题,我们将遵循以下步骤:如果矩阵只有一个一,则返回 1 rows := 矩阵的行数 cols := 矩阵的列数 [0] result := 0 对于范围从 0 到 rows - 1 的 row,执行以下操作:对于范围从 0 到 cols 的 col,执行以下操作……阅读更多

使用 Python 查找满足给定和条件的子序列数量的程序

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

526 次浏览

假设我们有一个名为 nums 的数组和另一个值 k。我们必须找到 nums 的非空子序列的数量,使得其最小元素和最大元素的和小于或等于 k。答案可能非常大,因此返回答案模 10^9 + 7。因此,如果输入类似于 nums = [4,6,7,8] k = 11,则输出将是 4,因为存在诸如 [4] 之类的子序列,这里最小值为 4,最大值为 4,所以 4+4

广告
© . All rights reserved.