找到 34423 篇文章,关于编程

在 C++ 中查找排列

Arnab Chakraborty
更新于 2020年11月19日 09:58:36

281 次浏览

假设我们有一个由字符“D”和“I”组成的秘密签名。“D”表示两个数字之间的递减关系,“I”表示两个数字之间的递增关系。这个秘密签名是由一个特殊的整数数组构造的,该数组包含从 1 到 n 的所有不同数字。例如,秘密签名“DI”可以由像 [2, 1, 3] 或 [3, 1, 2] 这样的数组构造,但不能由像 [3, 2, 4] 或 [2, 1, 3, 4] 这样的数组构造,因为它们都不能表示“DI”秘密签名。现在我们必须…… 阅读更多

在 C++ 中进行序列重建

Arnab Chakraborty
更新于 2020年11月19日 09:56:33

185 次浏览

假设我们必须检查原始序列 org 是否可以从 seqs 中的序列唯一地重建。原始序列是从 1 到 n 的整数的排列,n 的范围是 1 ≤ n ≤ 10^4。这里的重建意味着创建 seqs 中序列的最短公共超序列。我们必须检查是否只有一个序列可以从 seqs 中重建,并且它是原始序列。因此,如果输入类似于 org = [1, 2, 3],seqs = [[1, 2],[1, 3]],则输出将为 false,因为…… 阅读更多

在 C++ 中设计电话目录

Arnab Chakraborty
更新于 2020年11月19日 09:52:43

506 次浏览

假设我们想设计一个电话目录,它支持以下操作:get - 这将提供一个未分配给任何人的号码。check - 这将检查一个号码是否可用。release - 这将回收或释放一个号码。使用初始化器,我们首先可以初始化 n 个号码。为了解决这个问题,我们将遵循以下步骤:定义一个集合 s 定义一个队列 available 初始化器将采用 maxNumbers。N := maxNumbers 对于初始化 i := 0,当 i < N 时,更新(将 i 增加 1),执行:- 将 i 插入 available 定义一个函数 get() 如果 available 的大小与…… 阅读更多

在 C++ 中进行范围加法

Arnab Chakraborty
更新于 2020年11月19日 09:50:25

178 次浏览

假设我们有一个大小为 n 的数组,该数组初始化为 0,我们还有一个值 k,我们将执行 k 次更新操作。每个操作都将表示为三元组:[startIndex,endIndex,inc],它将子数组 A[startIndex ... endIndex](包括 startIndex 和 endIndex)的每个元素递增 inc。我们必须找到执行所有 k 次操作后修改后的数组。因此,如果输入类似于 length = 5,updates = [[1, 3, 2],[2, 4, 3],[0, 2, -2]],则输出将为 [-2, 0, 3, 5, 3]。为了解决这个问题,我们将遵循…… 阅读更多

在 C++ 中进行加一链表

Arnab Chakraborty
更新于 2020年11月19日 09:48:16

155 次浏览

假设我们有一个用非空单链表表示的非负整数的数字,现在我们必须将整数加一。我们可以假设整数不包含任何前导零,除了数字 0 本身。在链表中,最重要的数字位于列表的头部。因此,如果输入类似于 [1, 2, 3],则输出将为 [1, 2, 4]。为了解决这个问题,我们将遵循以下步骤:如果 head 为空,则:- 返回 head curr = head req = NULL 当 curr 非零时,执行:- 如果 curr 的值不等于…… 阅读更多

在 C++ 中查找二叉树的叶子节点

Arnab Chakraborty
更新于 2020年11月19日 09:45:51

534 次浏览

假设我们有一棵二叉树。我们将收集并删除所有叶子节点,并重复此操作,直到树为空。因此,如果输入类似于,则输出将为 [[4, 5, 3],[2],[1]]。为了解决这个问题,我们将遵循以下步骤:定义一个映射 sz 定义一个二维数组 ret 定义一个函数 dfs(),这将采用节点,如果节点为空,则:- sz[节点的值] := 1 + dfs(节点的左子节点) 和 dfs(节点的右子节点) 的最大值 如果 ret 的大小 < sz[节点的值],则:- 定义一个数组 temp 将 temp 插入 ret 的末尾 将节点的值插入…… 阅读更多

在 Python 中进行嵌套列表加权求和 II

Arnab Chakraborty
更新于 2020年11月19日 09:43:00

243 次浏览

给定一个嵌套整数列表,返回列表中所有整数的加权和。每个元素都是一个整数,或者是一个列表——其元素也可能是整数或其他列表。与之前的权重从根到叶递增的问题不同,现在的权重是从下到上定义的。即,叶级整数的权重为 1,根级整数的权重最大。因此,如果输入类似于 [[1, 1],2,[1, 1]],则输出为 8,因为四个 1 在深度 1,一个 2…… 阅读更多

在 C++ 中设计点击计数器

Arnab Chakraborty
更新于 2020年11月19日 09:39:49

569 次浏览

假设我们想设计一个点击计数器,它计算过去 5 分钟内收到的点击次数。将有一个函数,该函数接受以秒为单位的时间戳参数,我们可以假设调用按时间顺序进行(因此,时间戳单调递增)。我们还假设最早的时间戳从 1 开始。可能会有几个点击大致同时到达。因此,我们将调用 hit() 函数进行点击,并调用 getHits() 函数获取点击次数。为了解决这个问题,我们将遵循…… 阅读更多

在 C++ 中炸弹敌人

Arnab Chakraborty
更新于 2020年11月19日 09:38:01

258 次浏览

假设我们有一个二维网格,这里每个单元格要么是墙“W”,要么是敌人“E”,要么是空的“0”,我们必须使用一枚炸弹找到我们可以消灭的最大敌人数量。炸弹会杀死种植点所在同一行和列的所有敌人,直到撞到墙为止。我们只能在空位上放置炸弹。因此,如果输入类似于,则输出将为 3,因为在绿色位置放置炸弹,它将杀死三个敌人。为了解决这个问题,我们将遵循以下步骤:ret := 0 n := 行数…… 阅读更多

在 C++ 中排序变换后的数组

Arnab Chakraborty
更新于 2020年11月19日 09:35:05

199 次浏览

假设我们有一个排序的整数数组 nums 和整数 a、b 和 c。我们必须将形式为 f(x) = ax^2 + bx + c 的二次函数应用于数组中的每个元素 x。最终数组必须按排序顺序排列。因此,如果输入类似于 nums = [-4, -2, 2, 4],a = 1,b = 3,c = 5,则输出将为 [3, 9, 15, 33]。为了解决这个问题,我们将遵循以下步骤:定义函数 f(),它采用 x、a、b、c - 返回 ax^2 + bx + c 从…… 阅读更多

广告
© . All rights reserved.