找到关于编程的34423 篇文章

C++中的IPO

Arnab Chakraborty
更新于 2020年6月1日 11:30:11

321 次浏览

假设一家公司 A 很快就要启动 IPO。为了以较好的价格向 B 出售其股份,A 想要在 IPO 之前开展一些项目以增加资本。A 的资源有限,在 IPO 之前最多只能完成 k 个不同的项目。你能通过设计最佳方案来帮助 A 最大化其在完成最多 k 个不同项目后的总资本吗?假设我们有几个项目。对于每个项目 i,它都有一个纯利润 Pi 和一个启动相应的项目所需的最小资本 Ci……阅读更多

C++中的逆序对

Arnab Chakraborty
更新于 2020年6月1日 11:29:05

767 次浏览

假设我们有一个数组,在这个数组中,如果满足以下条件,我们将一对 (A[i] 和 A[j]) 称为重要的逆序对:如果 i < j 且 A[i] > 2 * nums[j]。我们需要找到重要的逆序对的数量。因此,如果输入类似于 [2,8,7,7,2],则结果将为 3。为了解决这个问题,我们将遵循以下步骤:ans := 0 定义一个函数 merge(),它将接收一个数组 a、low、mid、high,k := high - low + 1 定义一个大小为 k 的数组 i := low,j = mid + 1,k := 0 first := mid + 1 while i

C++中的祖玛游戏

Arnab Chakraborty
更新于 2020年6月1日 11:26:46

679 次浏览

让我们考虑祖玛游戏。假设桌面上有一排球,这些球的颜色为红色 (R)、黄色 (Y)、蓝色 (B)、绿色 (G) 和白色 (W)。我们身边也有一些球。现在,每次我们都可以从我们这边选择一个球,并将其插入到排中。然后,如果有一组 3 个或更多相同颜色的球相连,则将其移除。继续这样做,直到没有更多球可以移除。我们需要找到我们必须插入的最小球数才能移除桌面上所有的球。如果我们不能……阅读更多

Python中的最小良基

Arnab Chakraborty
更新于 2020年6月1日 11:23:44

260 次浏览

假设我们有一个整数 n,当 n 的 k 进制表示的所有数字都是 1 时,我们称 k >= 2 为 n 的良基。因此,如果给定的数字 n 是字符串,则我们必须将 n 的最小良基作为字符串返回。因此,如果数字是 121,则答案将是 3,因为 121 在 3 进制下是 11111。为了解决这个问题,我们将遵循以下步骤:定义一个名为 getSum() 的方法,它将接收 x 和长度 set mainSum := 0 和 temp := 1 for i in range 0 到 length – 1 – mainSum……阅读更多

C++中的滑动窗口中位数

Arnab Chakraborty
更新于 2020年6月1日 11:21:03

1K+ 次浏览

假设我们有一列数字,我们有一个窗口大小 k,我们需要使用滑动窗口的方式找到中位数列表。因此,如果分布如下:窗口位置中位数 1 3 -1 -3 5 3 6 8 11 3 -1 -3 5 3 6 8 -1 1 3 -1 -3 5 3 6 8 -1 1 3 -1 -3 5 3 6 8 3 1 3 -1 -3 5 3 6 8 5 1 3 -1 -3 5 3 6 8 6在这里,我们认为 k 为 3,结果将为 [1, -1, -1, 3, 5, 6] 为了解决这个问题,我们将遵循以下步骤:定义一个集合 arr 定义一个函数 insert(),它将接收 x,并将 x 插入到 arr 中定义一个函数 delete_(),它将接收 x,如果存在,则从 arr 中删除 x 定义一个函数 getMedian() n := arr 的大小 a := 跳转到 n/2……阅读更多

C++中的最大回文数乘积

Arnab Chakraborty
更新于 2020年6月1日 11:10:12

111 次浏览

假设我们有输入 n,我们需要找到可以使用两个 n 位数的乘积生成的最大的回文数。由于数字非常大,我们可以使用 1337 进行模运算。因此,如果输入是 2,则答案将是 987,987 = (99*91) mod 1337 = 9009 mod 1337 = 987。为了解决这个问题,我们将遵循以下步骤:maxVal := 10^n – 1 minVal := maxVal / 10 for 初始化 h := maxVal,当 h > minVal 时,更新(将 h 减 1),执行:left := h,right := 0 for 初始化 i := h,当……阅读更多

C++中的连接词

Arnab Chakraborty
更新于 2020年6月1日 11:07:49

144 次浏览

假设我们有一列单词。这些词是不同的。我们需要设计一种算法来查找给定单词列表中的所有连接词。连接词实际上是一个字符串,它完全由给定数组中至少两个较短的单词组成。因此,如果单词类似于 ["cow", "cows", "cowsgoatcows", "goat", "goatcowsgoat", "hippopotamuses", "deer", "deercowgoatcow"],则输出将为 ["cowsgoatcows", "goatcowsgoat", "deercowgoatcow"] 为了解决这个问题,我们将遵循以下步骤:定义一个函数 isPresent(),它将接收 str、head、idx 和一个数组 dp,如果 idx >= str 的大小,则:返回 true if……阅读更多

C++中的可怜的小猪

Arnab Chakraborty
更新于 2020年6月1日 11:03:44

165 次浏览

假设有 1000 个桶,其中一个有毒,其他装满水。它们看起来都一样。如果猪喝了毒药,它会在 15 分钟内死亡。在一小时内找到有毒的桶,我们需要多少猪?现在考虑一般情况并为此设计一个算法。因此,一般情况是,如果有 n 个不同的桶,并且猪喝毒药会在 m 分钟内死亡,那么在 p 分钟内找到有毒桶需要多少猪?只有一个……阅读更多

C++中的算术切片 II - 子序列

Arnab Chakraborty
更新于 2020年6月1日 11:02:56

165 次浏览

假设我们有一个数组 A,其中存在 N 个数字。该数组的子序列切片是任何整数序列,例如 (K0, K1, K2,… Kn),使得 0 = 2。因此,我们必须返回算术切片的数量。因此,如果输入类似于 [2, 4, 6, 8, 10],则答案将为 7,因为有 7 个算术切片。[2, 4, 6],[2, 4, 10],[4, 6, 8],[6, 8, 10],[2, 4, 6, 8],[4, 6, 8, 10],[2, 4, 6, 8, 10],为了解决这个问题,我们将遵循以下步骤:ret :=……阅读更多

C++中按字典序排列的第 K 个最小数

Arnab Chakraborty
更新于 2020年6月1日 10:55:27

722 次浏览

假设我们有两个值 n 和 k。我们需要找到 1 到 n 范围内按字典序排列的第 k 个最小整数。因此,如果输入类似于 n = 14 且 k = 3,则输出将为 11,因为序列将为 [1, 10, 11, 12, 13, 14, 2, 3, 4, 5, 6, 7, 8, 9],然后第 k 个数字是 11。为了解决这个问题,我们将遵循以下步骤:定义一个函数 findKthNumber(),它将接收 n、k,curr := 1(将 k 减 1)while k 非零,执行:steps := 调用函数 calcSteps(n, curr, curr + 1) if steps

广告
© . All rights reserved.