找到 34423 篇文章 适用于编程

Python 中之字形标记二叉树中的路径

Arnab Chakraborty
更新于 2020 年 4 月 30 日 11:00:19

151 次查看

假设在一个无限的二叉树中,每个节点都有两个子节点,节点按行顺序标记。现在在奇数行(第一行、第三行、第五行……),标记是从左到右的,在偶数行(第二行、第四行、第六行……),标记是从右到左的。所以树将是这样的-所以我们给出了这棵树中一个节点的标签,我们必须找到从树的根到具有该标签的节点的路径中的标签。所以如果输入是 label = 14,那么... 阅读更多

C++ 中每个人成为朋友的最早时刻

Arnab Chakraborty
更新于 2020 年 4 月 30 日 10:56:38

95 次查看

假设在一个社交群体中,有 N 个不同的人,具有从 0 到 N-1 的唯一整数 ID。这里我们有一系列日志,其中每个 logs[i] = [time, id_A, id_B] 包含一个非负整数时间戳,以及两个不同人的 ID。每个日志都显示了两个人成为朋友的时间。如果 A 是 B 的朋友,那么 B 也是 A 的朋友。假设一个人 A 与另一个人 B 相识,如果 A 是 B 的朋友,或者 A 是某个与 B 相识的人的朋友。我们必须找到... 阅读更多

Python 中的损坏计算器

Arnab Chakraborty
更新于 2020 年 4 月 30 日 10:51:35

273 次查看

假设我们有一个损坏的计算器,它的显示屏上显示着一个数字,我们只能执行两个操作-加倍-这会将显示屏上的数字乘以 2,或者;递减-这会将显示的数字减少 1,最初,计算器显示数字 X。我们必须找到显示数字 Y 所需的最少操作次数。所以如果输入类似于 X = 5 和 Y 为 8,则输出将为 2,因为递减,它一次,然后加倍它要解决这个问题,我们将遵循以下步骤-res... 阅读更多

C++ 中的完整二叉树插入器

Arnab Chakraborty
更新于 2020 年 4 月 30 日 10:50:52

882 次查看

众所周知,完整二叉树是指除了最后一层外,每一层都完全填充,并且所有节点都尽可能靠左的二叉树。我们必须编写一个数据结构 CBTInserter,它使用一个完整的二叉树进行初始化,并且它支持以下操作-CBTInserter(TreeNode root) 这将在给定树上使用头节点 root 初始化数据结构;CBTInserter.insert(int v) 将用于将一个 TreeNode 插入到树中,其值为 node.val = v,以便树保持完整,并返回插入的 TreeNode 的父节点的值;CBTInserter.get_root()... 阅读更多

C++ 中子数组最小值之和

Arnab Chakraborty
更新于 2020 年 4 月 30 日 10:35:55

182 次查看

假设我们有一个整数数组 A。我们必须找到 min(B) 的总和,其中 B 遍历 A 的每个(连续)子数组。由于答案可能非常大,然后返回模 10^9 + 7 的答案。所以如果输入类似于 [3, 1, 2, 4],则输出将为 17,因为子数组为 [3]、[1]、[2]、[4]、[3, 1]、[1, 2]、[2, 4]、[3, 1, 2]、[1, 2, 4]、[3, 1, 2, 4],所以最小值为 [3, 1, 2, 4, 1, 1, 2, 1, 1, 1],总和为 17。要解决... 阅读更多

C++ 中所有可能的完整二叉树

Arnab Chakraborty
更新于 2020 年 4 月 30 日 10:34:58

254 次查看

假设完整二叉树是指每个节点正好有 0 或 2 个子节点的二叉树。所以我们必须找到具有 N 个节点的所有可能的完整二叉树的列表。答案中每棵树的每个节点都必须具有 node.val = 0。返回的树可以按任何顺序排列。所以如果输入是 7,那么树是-要解决这个问题,我们将遵循以下步骤-定义一个整数类型键和树类型值的映射 m。定义一个名为 allPossibleFBT() 的方法,它将 N 作为输入如果 N 为 1,则创建... 阅读更多

C++ 中包含所有最深节点的最小子树

Arnab Chakraborty
更新于 2020 年 4 月 30 日 10:33:30

91 次查看

假设我们有一棵以 root 为根的二叉树,每个节点的深度是到根的最短距离。这里,如果一个节点在整棵树中具有最大的深度,则称该节点是最深的。节点的子树是该节点,加上该节点的所有后代的集合。我们必须找到深度最大的节点,使其子树包含所有最深的节点。所以如果树是这样的-那么最深的子树将是-要解决这个问题,我们将遵循以下步骤-定义一个... 阅读更多

C++ 中的任务调度器

Arnab Chakraborty
更新于 2020 年 4 月 30 日 08:47:54

3K+ 次查看

假设我们有一个字符数组,表示 CPU 需要执行的任务。这包含大写字母 A 到 Z,其中不同的字母表示不同的任务。任务可以不受原始顺序的限制完成。每个任务可以在一个时间间隔内完成。对于每个时间间隔,CPU 可以完成一项工作或只是空闲。但是,存在一个非负冷却间隔称为 n,这意味着在两个相同的任务之间,必须至少有 n 个时间间隔,CPU 在执行不同的任务或只是空闲。我们必须找到 CPU 完成... 阅读更多

C++ 中查找字符串中的所有字谜

Arnab Chakraborty
更新于 2020 年 4 月 29 日 13:07:56

2K+ 次查看

假设我们有一个字符串 s 和一个非空字符串 p,我们必须找到 p 的所有字谜在 s 中的起始索引。字符串仅由小写字母组成,并且两个字符串 s 和 p 的长度都不会大于 20 和 100。所以例如,如果 s:“cbaebabacd” p:“abc”,则输出将为 [0, 6],在索引 0 处,它是“cba”,另一个是“bac”,这些是“abc”的字谜。要解决这个问题,我们将遵循以下步骤-定义一个映射 m,n := s 的大小,设置 left := 0,right... 阅读更多

Python 中的插入删除获取随机 O(1)

Arnab Chakraborty
更新于 2020 年 4 月 29 日 12:34:50

473 次查看

假设我们有一个数据结构,它支持以下所有操作,平均时间复杂度为 O(1)。insert(val) - 这将向集合中插入一个项目 val,如果该项目尚不存在。remove(val) - 如果项目存在,这将从集合中删除一个项目 val。getRandom - 这将从当前元素集中返回一个随机元素。每个元素都必须具有相同的返回概率。要解决这个问题,我们将遵循以下步骤-对于初始化,定义一个父映射和元素数组对于 insert() 函数,它将 val 作为输入如果 val 不存在于父映射中,或者... 阅读更多

广告

© . All rights reserved.