找到 34423 篇文章,关于编程

Python程序:从给定树中查找最大的二叉搜索子树

Arnab Chakraborty
更新于 2020年12月12日 10:19:16

115 次查看

假设我们有一棵二叉树,我们必须找到作为二叉搜索树的最大的子树(具有最大节点数)。因此,如果输入类似于……那么输出将是……要解决这个问题,我们将遵循以下步骤:max_size := [0] max_node := [null] 定义一个函数 traverse()。这将采用节点 如果节点为空,则返回 null left := traverse(节点的左子节点) right := traverse(节点的右子节点) lst := left + [节点的值] + right 如果 lst 已排序,则如果 max_size[0] < lst 的大小,则 max_size[0] := lst 的大小 max_node[0] := 节点 返回 lst traverse(root) 从主方法返回 max_node[0] 示例 (Python) 让我们看看下面的实现…… 阅读更多

Python程序:查找从左上角到右下角的路径数

Arnab Chakraborty
更新于 2020年12月12日 10:16:40

340 次查看

假设我们有一个 N x M 二进制矩阵。其中 0 表示空单元格,1 表示阻塞单元格。现在从左上角开始,我们必须找到到达右下角的方法数。如果答案非常大,则将其模 10^9 + 7。因此,如果输入类似于 001000110,则输出将是 2,因为有两种方法可以到达右下角:[右,下,右,下] 和 [下,右,右,下]。要解决这个问题,我们将遵循以下步骤:dp := 与给定矩阵大小相同的矩阵,…… 阅读更多

C++程序:检查是否可以用 k 个和相等的子集划分列表

Arnab Chakraborty
更新于 2020年12月12日 10:12:50

106 次查看

假设我们有一个数字列表,称为 nums,以及另一个值 k,我们必须检查是否可以将 nums 分区成 k 个不同的子集,其中每个子集的和相同。因此,如果输入类似于 nums = [4, 2, 6, 5, 1, 6, 3] k = 3,则输出为 True,因为我们可以将它们划分为:[6, 3]、[6, 2, 1] 和 [4, 5]。要解决这个问题,我们将遵循以下步骤:定义一个函数 check(),这将采用一个数组 v,对于初始化 i := 1,当 i < v 的大小…… 阅读更多

Python程序:计算具有恰好 k 个唯一元素的子列表数

Arnab Chakraborty
更新于 2020年12月12日 10:08:47

132 次查看

假设我们有一个数字列表,称为 nums,以及另一个值 k,我们必须找到所需的子列表数,这些子列表中恰好有 k 个唯一数字。因此,如果输入类似于 nums = [2, 2, 3, 4] k = 2,则输出将是 3,因为我们有以下子列表:[2, 2, 3]、[2, 3]、[3, 4]。要解决这个问题,我们将遵循以下步骤:定义一个函数 count()。这将采用 Kslot := 一个空的映射,默认情况下所有值均为 0 i := res := 0 对于每个索引 j 和值…… 阅读更多

C++程序:查找 k 个不重叠子列表的最小和,其和最大

Arnab Chakraborty
更新于 2020年12月12日 10:07:09

158 次查看

假设我们有一个数字列表,称为 nums,以及另一个值 k,我们必须找到 k 个不重叠的、非空的子列表,以便它们的和之和最大。我们可以认为 k 小于或等于 nums 的大小。因此,如果输入类似于 nums = [11, -1, 2, 1, 6, -24, 11, -9, 6] k = 3,则输出将是 36,因为我们可以选择子列表 [11, -1, 2, 1, 6]、[11] 和 [6] 以获得 [19, 11, 6] = 36 的和。要解决这个问题,我们将遵循以下步骤…… 阅读更多

Python程序:查找大小为 k 的字典序最小的子序列

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

275 次查看

假设我们有一个数字列表,称为 nums,以及另一个值 k,我们必须找到大小为 k 的字典序最小的子序列。因此,如果输入类似于 nums = [2, 3, 1, 10, 3, 4] k = 3,则输出将是 [1, 3, 4] 要解决这个问题,我们将遵循以下步骤:l := nums 的大小,r := k - 1 out := 一个新的列表 对于 j 的范围为 0 到 k,domn := nums[r 的补码] 对于 i 的范围为 r 到 l,如果 mn >= nums[i 的补码],则 mn := nums[i 的补码] l := i r :=…… 阅读更多

C++程序:通过将单词转换为相同长度的行来对一组单词进行对齐

Arnab Chakraborty
更新于 2020年12月12日 10:00:33

72 次查看

假设我们有一个单词列表和一个宽度 k,我们必须排列文本,以便每一行恰好包含 k 个字符,并且文本完全对齐。在这里,我们将打包尽可能多的单词插入每一行。必要时,我们将填充额外的空格“ ”,以便每一行恰好包含 k 个字符。这里单词之间的额外空格应尽可能均匀分布。如果一行上的空格数不能平均分配给单词,则左侧的空槽将被分配…… 阅读更多

C++程序:查找在 k 天内完成工作的最小难度总和

Arnab Chakraborty
更新于 2020年12月12日 09:55:42

127 次查看

假设我们有一个数字列表,称为 jobs,以及另一个值 k。现在我们想在 k 个不同的天数内完成所有工作。必须按给定的顺序执行工作,并且每天必须完成一项任务。作业 i 的难度存储在 jobs[i] 中,并且在一天内完成作业列表的难度将是在那一天执行的最大难度作业。因此,我们必须找到在 k 个不同的天数内执行作业的最小难度总和。因此,如果输入类似于 jobs =…… 阅读更多

Python程序:通过安排工作来获得最大利润

Arnab Chakraborty
更新于 2020年12月12日 09:53:00

762 次查看

假设我们有一个区间列表,其中每个区间包含三个值 [开始,结束,利润]。我们一次只能执行一项任务,我们必须找到我们可以获得的最大利润量。因此,如果输入类似于 intervals = [[1, 2, 100], [3, 5, 40], [6, 19, 150], [2, 100, 250]],则输出将是 350,因为我们可以采用这两个区间 [1, 2, 100] 和 [2, 100, 250] 要解决这个问题,我们将遵循以下步骤 d := 一个包含列表作为值的空映射 n := 0 对于 intervals 中的每个 (开始,结束,利润),…… 阅读更多

C++程序:恢复后查找所有可能的IP地址

Arnab Chakraborty
更新于 2020年12月12日 09:49:18

288 次查看

假设我们有一个只包含数字的字符串,我们需要通过组合所有可能的有效IP地址来恢复它。我们知道,有效的IP地址由四个整数(每个整数的范围是0到255)组成,这些整数之间用单个句点符号分隔。因此,如果输入类似于ip = "25525511136",则输出将为["254.25.40.123", "254.254.0.123"]。为了解决这个问题,我们将遵循以下步骤:定义一个函数convertToNum(),它将接收s、start、end,num := 0, 对于初始化i := start,当i < end, num := num * 10 + int(s[i] - '0'),如果 num > 255,则返回10000,否则返回num。定义一个函数addDots(),它将接收positions,... 阅读更多

广告
© . All rights reserved.