找到关于编程的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]。我们必须找到有多少个有效的排列?答案可能非常大,因此我们将使用 mod 10^9 + 7 返回。因此,如果输入类似于“IDD”,则输出将为 3,… 阅读更多

C++中给定数字集最多为 N 的数字

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 := 字符串的大小对于初始化… 阅读更多

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 个鸡蛋,并且我们有一座从 1 到 N 的 N 层楼的建筑。现在每个鸡蛋的功能都是相同的,如果一个鸡蛋破了,我们就不能再把它掉了。存在一个介于 0 和 N 之间的楼层 F,使得任何在高于 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.