找到 34423 篇文章,关于编程

Python程序:查找节点与其后代节点之间的差值

Arnab Chakraborty
更新于 2020年11月19日 06:41:49

103 次浏览

假设我们有一棵二叉树,我们需要找到任何节点与其后代节点之间最大的绝对差值。因此,如果输入如下所示,则输出将为 7,因为最大的绝对差值在节点 8 和 1 之间。为了解决这个问题,我们将遵循以下步骤:定义一个函数 dfs()。这将采用节点;如果节点不为空,则返回一个包含正无穷大和负无穷大的列表;left := dfs(节点的左子节点);right := dfs(节点的右子节点);res := 一对 (left[0]、right[0] 和节点的值的最小值,以及 left[1]、right[1] 和节点的值的最大值);ans := ... 阅读更多

Python程序:查找骑士在棋盘上可以移动而不离开棋盘的位置百分比

Arnab Chakraborty
更新于 2020年11月19日 06:39:14

127 次浏览

假设我们有四个值 n、x、y 和 k。这里 n 表示 n x n 的棋盘,坐标 x、y 表示骑士位于 (x, y)。骑士必须走恰好 k 步,在每一步中,它可以随机地向 8 个方向中的任何一个移动。我们需要找到骑士在走 k 步后仍然留在棋盘上的概率百分比(最接近的整数)。我们必须遵循一个条件,即一旦它离开棋盘,就不能再次进入棋盘。因此,如果输入如下所示:n = 8,(x = ... 阅读更多

Python程序:查找棋盘上的骑士到达目标位置所需的最少步数

Arnab Chakraborty
更新于 2020年11月19日 06:37:29

838 次浏览

假设我们有两个值 r 和 c。如果一个棋盘上的骑士最初位于坐标 (0, 0) 位置在一个无限大的棋盘上,我们需要找到它到达位置 (r, c) 所需的最少移动次数。骑士的移动方式与国际象棋中的骑士相同。它可以水平移动两格,垂直移动一格,或者垂直移动两格,水平移动一格。因此,如果输入是 r = 6,c = 1,则输出将是 3,红色是初始位置,绿色是最终位置,黄色是... 阅读更多

Python程序:查找和值最大的 k 个子列表,并按升序返回这些和值

Arnab Chakraborty
更新于 2020年11月19日 06:36:22

124 次浏览

假设我们有一个数字列表 nums,还有一个值 k,我们需要找到和值最大的 k 个子列表,并按非递减顺序返回这些和值。因此,如果输入如下所示:nums = [2, 4, 5, -100, 12, -30, 6, -2, 6] k = 3,则输出将是 [10, 11, 12],因为我们有这 3 个和值最大的子列表:[6, -2, 6]、[2, 4, 5]、[12]。为了解决这个问题,我们将遵循以下步骤:ps := 一个长度为 1 + nums 大小的列表,并用 0 填充;对于每个索引 i 和 ... 阅读更多

Python程序:查找长度至少为 2 且和值为 k 的倍数的子列表

Arnab Chakraborty
更新于 2020年11月19日 06:34:05

102 次浏览

假设我们有一个非负数列表 nums 和另一个正值 k。我们需要检查是否存在长度至少为 2 的子列表,其和值为 k 的倍数。因此,如果输入如下所示:nums = [12, 6, 3, 4] k = 5,则输出将为 True,因为子列表 [12, 3] 的和为 15,可以被 5 整除。为了解决这个问题,我们将遵循以下步骤:sum := 0;m := 一个新的映射;m[0] := -1;对于 i 的范围从 0 到 nums 的大小,执行 sum := sum + ... 阅读更多

Python程序:查找 A 中严格小于 B 中至少 k 个元素的元素数量

Arnab Chakraborty
更新于 2020年11月19日 06:32:36

2K+ 次浏览

假设我们有两个数字列表 A 和 B,还有一个值 k,我们需要找到 A 中严格小于 B 中至少 k 个元素的元素数量。因此,如果输入如下所示:A = [6, -2, 100, 11] B = [33, 6, 30, 8, 14] k = 3,则输出将为 3,因为 -2、6 和 11 严格小于 B 中的 3 个元素。为了解决这个问题,我们将遵循以下步骤:如果 k 等于 0,则返回 A 的大小;反向排序 B;ct := 0;对于每个 i ... 阅读更多

Python程序:检查全局反转和局部反转的数量是否相同

Arnab Chakraborty
更新于 2020年11月19日 06:30:40

108 次浏览

假设我们有一个不同的数字列表 nums。全局反转是指存在索引 i < j 使得 nums[i] > nums[j]。局部反转是指存在索引 i 和 i + 1 使得 nums[i] > nums[i + 1]。我们需要检查全局反转的数量是否等于局部反转的数量。因此,如果输入如下所示:nums = [3, 2, 4],则输出将为 True,因为索引 0 和 1 既是全局反转又是局部反转。为了解决这个问题,我们将... 阅读更多

Python程序:合并区间并按升序排序

Arnab Chakraborty
更新于 2020年11月19日 06:28:45

746 次浏览

假设我们有一个区间列表,我们需要找到它们的并集,并按排序后的顺序显示。因此,如果输入如下所示:inv = [[2, 5],[4, 10],[20, 25]],则输出将为 [[2, 10], [20, 25]]。为了解决这个问题,我们将遵循以下步骤:排序区间列表;ans := 一个新的列表;对于区间列表中的每个起始和结束 (s, e),执行:如果 ans 且 s

Python程序:查找重叠区间并按升序返回它们

Arnab Chakraborty
更新于 2020年11月19日 06:26:33

225 次浏览

假设我们有一个封闭区间列表和另一个区间列表。单独地,每个列表都是不重叠的,并且它们按非递减顺序排序。我们需要找到这两个区间的重叠部分,并按非递减顺序排序。因此,如果输入如下所示:inv1 = [[50, 100],[190, 270],[310, 330]] inv2 = [[40, 120],[180, 190]],则输出将为 [[50, 100], [190, 190]]。为了解决这个问题,我们将遵循以下步骤:ans := 一个新的列表;i := 0,j := 0;当 i < A 的大小且 j < B 的大小时,执行:如果 start

Python程序:从区间列表中查找总的唯一持续时间

Arnab Chakraborty
更新于 2020年11月19日 06:25:00

949 次浏览

假设我们有一个区间列表,其中每个列表表示一个区间 [start, end](包含)。我们需要找到它覆盖的总唯一持续时间。因此,如果输入如下所示:intervals = [[2, 11], [13, 31], [41, 61]],则输出将为 50,因为总的唯一覆盖距离是 (11 - 2 + 1) = 10,然后 (31 - 13 + 1) = 19 和 (61 - 41 + 1) = 21,所以总共是 50。为了解决这个问题,我们将遵循以下步骤:如果 intervals 列表为空,则返回 0;排序列表 intervals[start, end] := intervals[0];ans := ... 阅读更多

上一页 1 ... 1605 1606 1607 1608 1609 ... 3443 下一页
广告
© . All rights reserved.