找到 34423 篇文章 关于编程

在 C++ 中平衡二叉搜索树

Arnab Chakraborty
更新于 2020-04-29 14:05:52

3K+ 浏览量

假设我们有一个二叉搜索树,我们需要找到一个具有相同节点值的平衡二叉搜索树。当且仅当每个节点的两个子树的深度之差不大于 1 时,二叉搜索树被称为平衡的。如果有多个结果,则返回其中任何一个。因此,如果树类似于 - 要解决此问题,我们将遵循以下步骤 - 定义 inorder() 方法,这会将 inorder 遍历序列存储到数组中定义 construct 方法(),这将采用 low 和 high - 如果 low > high ... 阅读更多

在 C++ 中设计一个带增量操作的栈

Arnab Chakraborty
更新于 2020-04-29 13:51:06

549 浏览量

假设我们想要设计一个支持以下操作的栈。CustomStack(int maxSize) 这会使用 maxSize 初始化对象,maxSize 是栈中元素的最大数量,或者如果栈达到 maxSize 则不执行任何操作。void push(int x) 如果栈尚未达到 maxSize,则将 x 插入栈顶。int pop() 这会删除并返回栈顶,或者如果栈为空则返回 -1。void inc(int k, int val) 这会将栈底 k 个元素增加 val。如果栈中元素少于 k 个,则只增加所有 ... 阅读更多

在 C++ 中查找二叉树克隆中对应节点

Arnab Chakraborty
更新于 2020-04-29 13:44:49

584 浏览量

假设我们有两个二叉树 original 和 cloned,以及对 original 树中节点 target 的引用。克隆树实际上是原始树的副本。我们需要找到克隆树中相同节点的引用。因此,如果树如下所示,并且 target 为 3,则输出将为 3。要解决此问题,我们将遵循以下步骤 - 定义一个名为 solve() 的方法,它将采用 node1m node2 和 targetif node1 为 null,则返回 nullif node1 为 target 且 node 1 的值为 ... 阅读更多

在 C++ 中通知所有员工所需的时间

Arnab Chakraborty
更新于 2020-04-29 13:37:56

413 浏览量

假设我们有一家公司有 n 名员工,每名员工都有一个唯一的 ID。这些 ID 的范围从 0 到 n - 1。公司的负责人是 ID 为 headID 的人。每名员工都有一位直属经理,在 manager 数组中给出,其中 manager[i] 是第 i 名员工的直属经理,manager[headID] = -1。还可以保证从属关系具有树状结构。在这里,公司负责人想要通知公司所有员工一条紧急新闻。他可以通知他的直属下属,他们 ... 阅读更多

在 C++ 中切换灯泡 III

Arnab Chakraborty
更新于 2020-04-29 13:21:40

370 浏览量

假设我们有一个房间有 n 个灯泡,这些灯泡从 1 到 n 编号,从左到右排列成一行。最初,所有灯泡都关闭。在时刻 k(对于 k 的范围为 0 到 n - 1),我们打开 light[k] 灯泡。只有当灯泡打开且所有之前的灯泡(左侧)也打开时,灯泡才会变为蓝色。我们需要找到所有打开的灯泡都为蓝色的时刻的数量。因此,这是一个示例 - 输出将为 3,因为时刻 ... 阅读更多

在 C++ 中二叉树中最长的之字形路径

Arnab Chakraborty
更新于 2020-04-29 13:18:28

794 浏览量

假设我们有一个二叉树根节点,二叉树的之字形路径定义如下 - 选择二叉树中的任何节点和一个方向(向右或向左)。如果当前方向为向右,则向当前节点的右子节点移动,否则向左子节点移动。然后将方向从右更改为左,反之亦然。重复第二步和第三步,直到我们无法在树中移动。这里的之字形长度定义为访问的节点数 - 1。(单个节点的长度为 0)。我们需要找到 ... 阅读更多

在 C++ 中查找包含元音偶数次的字符串的最长子字符串

Arnab Chakraborty
更新于 2020-04-29 13:12:13

317 浏览量

假设我们有字符串 s,我们需要找到包含每个元音偶数次的字符串的最长子字符串的大小。也就是说,“a”、“e”、“i”、“o”和“u”必须出现偶数次。因此,如果字符串类似于“helloworld”,则输出将为 8。要解决此问题,我们将遵循以下步骤 - ret := 0,定义两个映射 m 和 cnt,设置 m[“00000”] := -1将元音存储到元音数组中for i in range 0 到 s 的大小x := s[i],以及 ok := false将 cnt[x] 增加 1,设置 temp := 空字符串for k in ... 阅读更多

在 C++ 中将链表转换为二叉树

Arnab Chakraborty
更新于 2020-04-29 13:09:13

2K+ 浏览量

假设我们有一个二叉树根节点和一个以 head 作为第一个节点的链表。如果从 head 开始的链表中的所有元素都对应于二叉树中连接的一些向下路径,则返回 True,否则返回 False。因此,如果树类似于 - 并且链表为 [1, 4, 2, 6],则输出将为 true。要解决此问题,我们将遵循以下步骤 - 定义一个映射 dp定义一个名为 solve() 的方法,它将采用 head、root 和 flagif head 为 null,则返回 true,或者如果 ... 阅读更多

在 C++ 中查找最接近的除数

Arnab Chakraborty
更新于 2020-04-29 13:00:56

325 浏览量

假设我们有一个整数 num,我们需要找到绝对差值最接近的两个整数,其乘积等于 num + 1 或 num + 2。我们需要以任何顺序找到这两个整数。因此,如果输入为 8,则输出将为 [3, 3],对于 num + 1,它将为 9,最接近的除数为 3 和 3,对于 num + 2 = 10,最接近的除数为 2 和 5,因此选择 3 和 3。要解决此问题,我们将遵循以下步骤 - 定义一个名为 getDiv() 的方法,它将采用 x 作为输入diff := infinity,创建一个名为 ret 的大小为 2 的数组for i := 1,如果 i^2

在 C++ 中验证二叉树节点

Arnab Chakraborty
更新于 2020-04-29 12:57:12

319 浏览量

假设我们有 n 个二叉树节点,编号从 0 到 n - 1,其中节点 I 有两个子节点 leftChild[i] 和 rightChild[i],我们必须在所有给定的节点恰好形成一个有效的二叉树时返回 true。当节点 i 没有左子节点时,leftChild[i] 将等于 -1,右子节点也类似。我们必须记住,这些节点没有值,并且我们只在这个问题中使用节点编号。因此,如果输入类似于 -,则输出将为 true。为了解决这个问题,我们将遵循以下步骤... 阅读更多

广告

© . All rights reserved.