找到 34423 篇文章,关于编程

Python 程序:查找 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 的大小时,执行:如果起始…

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 := … 阅读更多

广告
© . All rights reserved.