找到 34423 篇文章,关于编程

C++ 中的超级回文数

Arnab Chakraborty
更新于 2020 年 6 月 4 日 09:03:27

432 次浏览

假设我们有一个正整数 N,如果它是回文数,并且也是一个回文数的平方,则称之为超级回文数。现在考虑我们有两个正整数 L 和 R,我们需要找到 [L, R] 区间内超级回文数的数量。因此,如果输入类似于 L = 5 和 R = 500,则输出将为 3,超级回文数为 9、121、484。要解决此问题,我们将遵循以下步骤:定义一个函数 helper(),它将接收 x、m、M、lb、ub,如果 x > ub,... 阅读更多

C++ 中 DI 序列的有效排列

Arnab Chakraborty
更新于 2020 年 6 月 4 日 09:00:57

678 次浏览

假设我们有一个字符串 S。这是一个来自集合 {'D', 'I'} 的字符的字符串。(D 表示“递减”而 I 表示“递增”)现在考虑有效排列是整数 {0 到 n} 的排列 P[0]、P[1]、...、P[n],使得对于所有 i,它满足以下规则:如果 S[i] == 'D',则 P[i] > P[i+1];否则,当 S[i] == 'I' 时,则 P[i] < P[i+1]。我们需要找到有多少个有效排列?答案可能非常大,因此我们将使用模 10^9 + 7 返回。因此,如果输入类似于“IDD”,则输出将为 3,... 阅读更多

C++ 中给定数字集的最大数字

Arnab Chakraborty
更新于 2020 年 6 月 4 日 08:58:56

138 次浏览

假设我们有一组排序后的数字 D,它是 {'1', '2', '3', '4', '5', '6', '7', '8', '9'}(除了 0)的非空子集。现在,我们将使用这些数字编写一些数字,并根据需要多次使用每个数字。因此,如果 D = {'2', '3', '7'},我们可以编写诸如 '23'、'771'、'2372327' 之类的数字。现在我们需要找到可以使用这些数字编写的、小于或等于 N 的正整数的数量。因此,如果输入类似于 D = [2, 3, 4, 7],N = 100,则输出将为 20,因为 ... 阅读更多

C++ 中的有序队列

Arnab Chakraborty
更新于 2020 年 6 月 4 日 08:56:21

175 次浏览

假设有一个字符串 S。S 中的所有字母都小写。然后,我们可以进行任意次数的移动。这里,在每次移动中,我们选择前 K 个字母之一,将其删除,并将其放置在字符串的末尾。我们需要找到在任意次数移动后可以获得的字典序最小的字符串。因此,如果输入类似于“cabaa”且 K = 3,则输出将为“aaabc”要解决此问题,我们将遵循以下步骤:如果 K > 1,则:对数组 S 进行排序返回 Sret := Sn := S 的大小对于初始化 ... 阅读更多

C++ 中的最大频率栈

Arnab Chakraborty
更新于 2020 年 6 月 4 日 08:53:44

323 次浏览

假设我们想要实现一个名为 FreqStack 的栈。我们的 FreqStack 具有两个函数:push(x),这将把整数 x 推入栈。pop(),这将删除并返回栈中最频繁的元素。如果有多个元素具有相同的频率,则删除并返回最靠近栈顶的元素。因此,如果输入类似于将一些元素如 7、9、7、9、6、7 推入栈,然后执行四次 pop 操作,则输出将分别为 7、9、7、6。要解决此问题,我们将遵循以下步骤:定义 ... 阅读更多

C++ 中子序列宽度的总和

Arnab Chakraborty
更新于 2020 年 6 月 4 日 08:50:02

116 次浏览

假设我们有一个整数数组 A,考虑 A 的所有非空子序列。对于任何序列 S,考虑 S 的宽度为 S 的最大元素和最小元素之间的差。我们需要找到 A 的所有子序列的宽度的总和。答案可能非常大,因此返回模 10^9 + 7 的答案。因此,如果输入类似于 [3, 1, 2],则输出将为 6,这是因为子序列类似于 [1]、[2]、[3]、[2, 1]、[2, 3]、[1, 3]、[2, 1, 3],宽度分别为 0,... 阅读更多

C++ 中的超级鸡蛋掉落

Arnab Chakraborty
更新于 2020 年 6 月 4 日 08:47:29

389 次浏览

假设我们有 K 个鸡蛋,并且我们有一栋有 N 层楼的建筑物,从 1 到 N。现在每个鸡蛋的功能都相同,如果一个鸡蛋破了,我们就不能再掉落它了。存在一个楼层 F,介于 0 和 N 之间,使得任何在高于 F 的楼层掉落的鸡蛋都会破裂,任何在 F 或低于 F 的楼层掉落的鸡蛋都不会破裂。在每次移动中,我们可以拿一个鸡蛋并从任何楼层 X 掉落它。X 的范围是 1 到 N。我们的目标是确定地知道 ... 阅读更多

C++ 中的盈利计划

Arnab Chakraborty
更新于 2020 年 6 月 4 日 12:38:44

160 次浏览

假设有一个有 G 个人的团伙,以及他们可以犯下的各种罪行的列表。第 i 个罪行产生利润值 profit[i],并且需要 group[i] 个团伙成员参与。如果一个团伙成员参与了一个罪行,那么他不能参与另一个罪行。现在让我们定义盈利计划为这些罪行的任何子集,该子集产生的利润至少为 P,并且参与该子集罪行的成员总数最多为 G。我们需要找到可以选择的计划数量?答案可能非常大,因此返回模 10^9 + ... 阅读更多

C++ 中最少的加油站次数

Arnab Chakraborty
更新于 2020 年 6 月 4 日 08:36:52

487 次浏览

假设有一辆汽车,从起始位置行驶到距离起始位置 t 英里的目的地。现在,沿途有许多加油站。因此,每个 station[i] 表示一个距离起始位置 station[i][0] 英里的加油站,并且该加油站有 station[i][1] 升汽油。如果汽车从一个无限大的油箱开始,最初在其中装有 startFuel 升汽油。它每行驶 1 英里消耗 1 升汽油。当汽车到达一个加油站时,它可以停下来加油,因此现在它 ... 阅读更多

C++ 中和至少为 K 的最短子数组

Arnab Chakraborty
更新于 2020 年 6 月 4 日 08:33:51

380 次浏览

假设我们有一个数组 A。我们需要找到 A 的最短非空连续子数组的长度,其总和至少为 K。如果没有这样的子数组,则返回 -1。因此,如果输入类似于 [5, 3, -2, 2, 1] 且 k = 6,则输出将为 2,因为我们可以看到 (5+3) >= 6要解决此问题,我们将遵循以下步骤:n := A 的大小ans := n + 1,j := 0,sum := 0定义一个双端队列 dq对于初始化 i := 0,当 i < n 时,更新(将 i 增加 1),... 阅读更多

广告

© . All rights reserved.