找到 34423 篇文章,关于编程

Python 程序:查找二叉树中最长连续路径的长度

Arnab Chakraborty
更新于 2020年12月2日 05:43:20

179 次查看

假设我们有一个二叉树;我们必须找到二叉树中最长的路径。因此,如果输入类似于,则输出将为 5,因为最长的连续序列为 [2, 3, 4, 5, 6]。为了解决这个问题,我们将遵循以下步骤 -如果根为 null,则返回 0maxPath := 0定义一个函数 helper()。这将获取节点inc := 1, dec := 1如果节点的左子节点不为 null,则[left_inc, left_dec] := helper(节点的左子节点)否则,[left_inc, left_dec] := [0, 0]如果节点的右子节点不为 null,则[right_inc, right_dec] := helper(节点的右子节点)否则,[right_inc, right_dec] := [0, 0]如果左 ... 阅读更多

Python 程序:将近似 BST 转换为精确 BST

Arnab Chakraborty
更新于 2020年12月2日 05:40:59

146 次查看

假设我们有一个二叉树,它几乎是一个二叉搜索树。只有两个节点的值被交换了。我们必须对其进行更正并返回二叉搜索树。因此,如果输入类似于,则输出将为为了解决这个问题,我们将遵循以下步骤 -prev_node := null, min_node := null, max_node := nullfound_one := False对于根的中序遍历中的每个节点,执行以下操作如果 prev_node 不为 null,则如果节点的值 < prev_node 的值,则如果 min_node 为 null 或节点的值 < min_node 的值,则min_node := 节点如果 max_node 为 null 或节点的值 ... 阅读更多

Python 程序:在给定矩阵中查找 1 组成的最大正方形的面积

Arnab Chakraborty
更新于 2020年12月2日 05:38:26

636 次查看

假设我们有一个二进制矩阵,我们必须在给定矩阵中找到 1 组成的最大正方形。因此,如果输入类似于100001100000110111100011110001111000111100则输出将为 16。为了解决这个问题,我们将遵循以下步骤 -res := 0对于范围从 0 到矩阵大小的 i,执行以下操作res := res 和 matrix[i, 0] 的最大值对于范围从 0 到 matrix[0] 大小的 i,执行以下操作res := res 和 matrix[0, i] 的最大值对于范围从 1 到矩阵的行数的 i,执行以下操作对于范围从 1 到矩阵的列数的 j,执行以下操作如果 matrix[i, j] 与 1 相同,则matrix[i, j] = matrix[i-1, j]、matrix[i, j-1] 和 matrix[i-1, j-1] 的最小值 ... 阅读更多

Python 程序:查找直方图下方最大矩形面积

Arnab Chakraborty
更新于 2020年12月2日 05:36:52

1K+ 次查看

假设我们有一个数字列表,表示直方图中条形的高度。我们必须找到可以在条形下方形成的最大矩形的面积。因此,如果输入类似于 nums = [3, 2, 5, 7],则输出将为 10为了解决这个问题,我们将遵循以下步骤 -stk := 一个栈,最初将 -1 插入其中在 heights 的末尾插入 0ans := 0对于范围从 0 到 heights 大小的 i,执行以下操作当 heights[i] < heights[stk 的顶部] 时,执行以下操作h := heights[stk 的顶部] 并从 stk 中弹出w := i - stk 的顶部 ... 阅读更多

C++ 程序:计算需要追加多少个数字才能创建从 1 到 k 的所有数字

Arnab Chakraborty
更新于 2020年12月2日 05:34:56

61 次查看

假设我们有一个称为 nums 的数字列表和另一个值 k。我们必须找到需要插入 nums 的最少数字数,以便我们可以使用 nums 中的一些子集创建 [1, k] 中的任何数字。因此,如果输入类似于 nums = [3, 5],k = 6,则输出将为 2,因为我们必须插入 1、2,所以我们可以创建:1 = [1]、2 = [2]、3 = [3]、4 = [1, 3]、5 = [5]、6 = [1, 5]。为了解决这个问题,我们将遵循以下 ... 阅读更多

Python 程序:查找使给定字谜成为相同所需的最小交换次数

Arnab Chakraborty
更新于 2020年12月2日 05:33:15

285 次查看

假设我们有两个字符串 S 和 T,它们互为字谜。我们必须找到在 S 中进行最小交换次数以使其与 T 相同。因此,如果输入类似于 S = "kolkata" T = "katloka",则输出将为 3,因为可以按以下顺序交换 [katloka(给定)、kotlaka、koltaka、kolkata]。为了解决这个问题,我们将遵循以下步骤 -定义一个函数 util()。这将获取 S、T、i如果 i >= S 的大小,则返回 0如果 S[i] 与 T[i] 相同,则返回 util(S, T, i + 1)x := T[i]ret ... 阅读更多

Python 程序:查找所有数字均为奇数的 n 的最近数字

Arnab Chakraborty
更新于 2020年12月2日 05:31:25

523 次查看

假设我们有一个数字 n,我们必须找到所有数字均为奇数的下一个最接近的值。当有两个值与最接近 n 的值相同的情况下,返回较大的值。因此,如果输入类似于 n = 243,则输出将为 199。为了解决这个问题,我们将遵循以下步骤 -first_even := -1s := n 作为字符串l := s 的大小对于范围从 0 到 l 的 i,执行以下操作如果 s[i] 为偶数,则first_even := i退出循环如果 first_even 与 -1 相同,则返回 nbig := 1 + s[从索引 0 到 ... 的数字值 阅读更多

Python 程序:删除 k 个数字后查找相邻值的差值最大值

Arnab Chakraborty
更新于 2020年12月2日 05:28:52

174 次查看

假设我们有一个称为 nums 的数字列表,它们按升序排序,我们必须从列表中删除 k 个值,以便任何两个相邻值之间的最大差值尽可能小,最后找到该差值。因此,如果输入类似于 nums = [15, 20, 30, 400, 1500] k = 2,则输出将为 10,因为如果我们删除 [400, 1500] 以获得 20 和 30 的差值。为了解决这个问题,我们将遵循以下步骤 -abs_diff := nums 中每个连续元素的差值列表定义一个 ... 阅读更多

Python 程序:查找完成某些作业可以获得的最大学分

Arnab Chakraborty
更新于 2020年12月2日 05:27:39

421 次查看

假设我们有两个大小相同的列表,它们是截止日期和学分,它们表示课程作业。此处 deadlines[i] 显示作业 i 的截止日期,credits[i] 表示我们完成作业 i 可以获得的学分。我们有一整天时间完成作业,并且可以在截止日期之前或当天完成。我们不能同时执行多个作业。我们必须找到通过完成一些作业子集可以获得的最大学分。因此,如果输入类似于 deadlines = [1, 2, 2, 2] credits = [4, 5, 6, 7], ... 阅读更多

Python 程序:检查我们可以移动 k 次并返回到起始位置的方法数

Arnab Chakraborty
更新于 2020年12月2日 05:26:10

100 次查看

假设我们位于长度为 n 的列表的第 0 个位置,并且在每个步骤中,我们可以向右移动一个位置或向左移动一个位置(不超过边界),或者停留在同一位置。现在,如果我们可以准确地执行 k 个步骤,那么我们必须找到我们可以采取多少种独特的行走方式并返回到索引 0。如果答案非常大,则返回它模 10^9 + 7。因此,如果输入类似于 n = 7 k = 4,则输出将为 9,因为操作为-[向右、向右、向左、向左]、[向右、向左、向右、向左]、[保持、 ... 阅读更多

广告

© . All rights reserved.