找到 34423 篇文章,关于编程

C++中具有边界最大值的子数组的数量

Arnab Chakraborty
更新于 2020年5月2日 09:09:25

162 次查看

假设我们有一个正整数数组 A,还给出了两个正整数 L 和 R。我们必须找到这样的 (连续的、非空的) 子数组的数量,使得该子数组中最大数组元素的值至少为 L 且至多为 R。因此,如果 A = [2, 1, 4, 3] 且 L = 2 且 R = 3,则输出将为 3,因为有三个子数组满足要求。这些是 [2]、[2, 1]、[3]。要解决这个问题,我们将遵循以下步骤 - ret := 0, dp := 0, ... 阅读更多

C++中的自定义排序字符串

Arnab Chakraborty
更新于 2020年5月2日 09:07:20

438 次查看

假设我们有两个字符串 S 和 T,它们由小写字母组成。在 S 中,没有字母出现超过一次。S 之前以某种自定义顺序排序。我们必须排列 T 的字符,以使其与 S 排序的顺序匹配。更具体地说,如果 x 在 S 中出现在 y 之前,则 x 将出现在返回的字符串中 y 之前。因此,如果 S = “cba” 且 T = “abcd”,则输出将为 “cbad”。这里 "a"、"b"、"c" 出现在 S 中,所以 "a"、"b"、"c" 的顺序应该是 "c"、"b"、... 阅读更多

C++中的多米诺骨牌和七巧板平铺

Arnab Chakraborty
更新于 2020年5月2日 09:05:03

368 次查看

假设我们有两种形状,多米诺骨牌和七巧板。它们可以像下面这样旋转 - 在平铺中,每个正方形都必须被一个瓦片覆盖。这里只有当棋盘上存在两个 4 向相邻的单元格,并且只有一个平铺同时占据这两个正方形时,两个平铺才不同。给定 N,那么我们必须找到可以用多少种方法平铺 2xN 棋盘?因此,如果输入是 3,则输出是 5。因此,排列可以是 [XYZ XXZ XYY XXY XYY] 和 [XYZ YYZ XZZ ... 阅读更多

C++中的删除和获取

Arnab Chakraborty
更新于 2020年5月2日 09:02:50

197 次查看

假设我们有一个整数数组 nums,我们可以对数组执行一些操作。在这里,在每次操作中,我们选择任何 nums[i] 并将其删除以赚取 nums[i] 数量的积分。我们必须删除等于 nums[i] - 1 或 nums[i] + 1 的每个元素。最初分数为 0。我们必须找到我们可以通过应用此类操作获得的最大积分数。因此,如果输入类似于 [3, 4, 2],则输出将为 6。这是因为,如果我们删除 4,我们将获得 4 分,因此 3 也将 ... 阅读更多

C++中的小行星碰撞

Arnab Chakraborty
更新于 2020年5月2日 09:00:25

864 次查看

假设我们有一个整数数组 asteroids,表示一行中的小行星。现在对于每个小行星,绝对值表示其大小,符号表示其方向,可以分别是正或负,分别表示向右和向左。每个小行星以相同的速度移动。我们必须找到所有碰撞后小行星的状态。当两个小行星相遇时,较小的一个将爆炸。如果两者大小相同,两者都将爆炸。两个朝相同方向移动的小行星永远不会相遇。因此,如果输入类似于 [5, 10, -5],则输出将为 [5,... 阅读更多

C++中配对链的最大长度

Arnab Chakraborty
更新于 2020年5月2日 08:57:28

101 次查看

假设在 Dota2 的世界中,有两个阵营 - 天辉和夜魇。Dota2 参议院由来自这两个阵营的参议员组成。现在参议院希望在 Dota2 游戏中进行一些更改。对这种更改的投票是一个基于回合的程序。在每一轮中,每个参议员都可以行使以下两种权利之一 - 禁止一名参议员的权利 - 一名参议员可以让另一名参议员在此轮及所有后续轮中失去所有权利。宣布胜利 - 如果这位参议员发现仍然拥有权利的参议员 ... 阅读更多

C++中的购物优惠

Arnab Chakraborty
更新于 2020年5月2日 08:53:56

234 次查看

假设有一家商店,有一些商品待售。每件商品都有一个价格。但是,有一些特价商品,特价商品由一种或多种不同种类的商品和销售价格组成。因此,我们有价格列表、一组特价商品以及我们需要购买每件商品的数量。任务是找到我们必须为给定的确切商品支付的最低价格,我们可以在其中最佳地利用特价商品。这里每个特价商品都以数组的形式表示,... 阅读更多

C++中函数的独占时间

Arnab Chakraborty
更新于 2020年5月2日 08:48:11

233 次查看

假设在一个单线程 CPU 上,我们执行一些函数。现在每个函数都有一个唯一的 ID,介于 0 和 N-1 之间。我们将按时间戳顺序存储描述何时进入或退出函数的日志。这里每个日志都是一个字符串,其格式如下:“{function_id}:{"start" | "end"}:{timestamp}”。例如,如果字符串类似于 "0:start:3",这意味着 ID 为 0 的函数在时间戳 3 的开头开始。"1:end:2" 意味着 ID 为 1 的函数在时间戳 2 的结尾结束。函数的独占时间是在此函数中花费的时间单位数。所以 ... 阅读更多

C++中的添加两个数字 II

Arnab Chakraborty
更新于 2020年5月2日 08:44:26

291 次查看

假设我们有两个非空链表,它们表示两个非负整数。这里最高有效位首先出现,并且它们的每个节点都包含一个数字。我们必须添加这两个数字,并将其作为链表返回。因此,如果列表是 [7, 2, 4, 3] + [5, 6, 4],则结果将是 [7, 8, 0, 7] 要解决这个问题,我们将遵循以下步骤 - 创建一个名为 dummy 的节点,并存储值 0,创建堆栈 s1 和 s2。用 l1 的节点填充 s1,用 s2 的节点填充 s2。sum := 0 while ... 阅读更多

C++中数组中两个数字的最大 XOR

Arnab Chakraborty
更新于 2020年5月2日 08:40:02

162 次查看

假设我们有一个非空的数字数组 a0、a1、a2、…、an-1,其中 0 ≤ ai < 231。我们必须找到 ai XOR aj 的最大结果,其中 0 ≤ i、j < n。因此,如果输入类似于 [3, 10, 5, 15, 2, 8],则输出将为 28。最大结果将是 5 XOR 25 = 28。要解决这个问题,我们将遵循以下步骤 - 定义 insertNode(),这将采用 val 和 headcurr := headfor i in range 31 到 0bit := val / (2^i) AND 1if curr 的 child[bit] 为 null,... 阅读更多

广告
© . All rights reserved.