找到 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(根节点);从主方法返回 max_node[0];示例(Python)让我们来看一下下面的实现…… 阅读更多

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

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

浏览量:340 次

假设我们有一个 N x M 的二进制矩阵。其中 0 表示空单元格,1 表示阻塞单元格。现在从左上角开始,我们必须找到到达右下角的路径数。如果答案非常大,则将其模 10^9 + 7。因此,如果输入是这样的……那么输出将是 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()。这将接收 K;slot := 一个空的映射,默认情况下所有值都为 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,mn := 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,for循环初始化i := start,当i < end && num < 255时,num = num * 10 + int(s[i] - '0'),i++;如果num > 255,则返回10000;否则返回num。定义一个函数addDots(),它将接收positions……阅读更多

广告
© . All rights reserved.