找到 34423 篇文章,关于编程

C++中T秒后的青蛙位置

Arnab Chakraborty
更新于 2020年6月9日 06:59:41

277 次浏览

假设我们有一个包含n个顶点的无向树。顶点编号从1到n。现在一只青蛙从顶点1开始跳跃。如果青蛙当前的顶点和另一个未访问的顶点相邻,则青蛙可以在一秒钟内跳到该顶点。青蛙不能跳回已访问的顶点。如果青蛙可以跳到多个顶点,则它会随机跳到其中一个顶点,概率相同;否则,如果青蛙不能跳到任何未访问的顶点,则它会永远停留在同一个顶点上。树以数组的形式给出……阅读更多

C++中二叉树中的最大和BST

Arnab Chakraborty
更新于 2020年6月9日 06:56:02

369 次浏览

假设我们有一个二叉树根节点,我们需要找到任何子树的所有节点的最大和,该子树也是二叉搜索树 (BST)。因此,如果输入是这样的,则输出将是 20,这是所选 BST 中所有节点的总和。为了解决这个问题,我们将遵循以下步骤:创建一个名为 Data 的块,它将保存一些成员,例如 sz、maxVal、minVal、ok 和 sum。还为数据定义一个初始化器,它将按此顺序取 (sz、minVal、maxVal、ok,并将 sum 设置为 0) ret := 0 定义一个名为 solve() 的方法……阅读更多

C++中最大的三的倍数

Arnab Chakraborty
更新于 2020年6月9日 06:53:06

111 次浏览

假设我们有一个数字数组,我们需要找到可以通过以任何我们想要的顺序连接某些给定数字来形成的最大三的倍数。答案可能非常大,因此将其作为字符串。如果没有答案,则返回空字符串。因此,如果输入类似于 [7, 2, 8],则输出将为 87。为了解决这个问题,我们将遵循以下步骤:定义一个二维数组 d,它将有三行对数字数组进行排序 sum := 0 for 初始化 i := 0,当 i < 数字的大小,更新……阅读更多

C++中所有有效的取货和送货选项计数

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

171 次浏览

假设我们有 n 个订单列表,每个订单都有取货和送货服务。我们需要计算所有有效的取货/送货可能的序列,这样 delivery[i] 总是位于 pickup[i] 之后。由于答案可能非常大,我们将返回它模 10^9 + 7。因此,如果输入类似于 2,则输出将是 6,因为所有可能的订单是 (P1, P2, D1, D2)、(P1, P2, D2, D1)、(P1, D1, P2, D2)、(P2, P1, D1, D2)、(P2, P1, D2, D1) 和 (P2, D2, P1, D1)。订单 (P1, D2, P2, D1) 无效……阅读更多

C++中使用多个总和构造目标数组

Arnab Chakraborty
更新于 2020年6月8日 11:38:27

87 次浏览

假设我们有一个整数数组 target。从由所有 1 组成的起始数组 A 开始,我们可以执行以下过程:考虑 x 为当前数组中所有元素的总和。选择索引 i,范围为 0 到 n,其中 n 是数组的大小,并将 A 中索引 i 的值设置为 x。我们可以根据需要重复此过程任意多次。我们需要检查是否可以从 A 创建目标数组,否则返回 False。因此,如果输入类似于 [3, 9, 5],则输出将……阅读更多

C++中的跳跃游戏 IV

Arnab Chakraborty
更新于 2020年6月8日 11:37:44

266 次浏览

假设我们有一个名为 arr 的整数数组。我们最初位于索引 0。一步内,我们可以从索引 i 跳到 i + x,其中:i + x < n。i - x,其中:i - x >= 0。j,其中:arr[i] 和 arr[j] 相同,并且 i 和 j 不相同。这里 n 是数组的大小。我们需要找到到达数组最后一个索引的最小步数。因此,如果输入是这样的,则输出将是 3,我们需要从索引 0 跳到……阅读更多

C++中的跳跃游戏 V

Arnab Chakraborty
更新于 2020年6月8日 11:34:51

564 次浏览

假设我们有一个名为 arr 的整数数组和一个整数 d。一步内,我们可以从索引 i 跳到:−i + x,其中:i + x < n 且 x 的范围为 1 到 d。i - x,其中:i - x >= 0 且 x 的范围为 1 到 d。这里 n 是数组的大小。此外,我们只能在 arr[i] > arr[j] 且 arr[i] > arr[k](对于 i 和 j 之间的所有索引 k)时,从索引 i 跳到索引 j。我们可以选择数组的任何索引并开始跳跃……阅读更多

C++中作业调度的最小难度

Arnab Chakraborty
更新于 2020年6月8日 11:31:55

315 次浏览

假设我们想在 d 天内安排一系列任务。这些任务是相关的,因此要处理第 i 个任务,我们必须完成所有任务 j,其中 0 0,则:返回 1^6 如果 dp[idx, k] 不等于 -1,则:返回 dp[idx, k] maxVal := 0 ret := inf for 初始化 i := idx,当 i < v 的大小,更新(将 i 增加 1),执行:maxVal := v[i] 和 maxVal 的最大值 ret := ret 和 maxVal + solve(v, i + 1, k - 1, dp) 的最小值 dp[idx, k] := ret 返回 ret 从主方法执行……阅读更多

C++中反转子数组以最大化数组值

Arnab Chakraborty
更新于 2020年6月8日 11:29:31

432 次浏览

假设我们有一个名为 nums 的整数数组。此数组的值定义为对于所有 i(范围为 0 到 n - 1)的 |nums[i]-nums[i+1]| 的总和。其中 n 是数组的大小。我们可以选择给定数组的任何子数组并将其反转。我们只能执行此操作一次。然后我们需要找到最终数组的最大可能值。因此,如果输入类似于 [1, 5, 4, 2, 3],则输出将是 10。为了解决这个问题,我们将遵循以下步骤:ret := 0,extra := 0 n :=……阅读更多

C++中打开水龙头浇灌花园的最小数量

Arnab Chakraborty
更新于 2020年6月8日 11:26:15

292 次浏览

假设在 x 轴上有一个一维花园。花园的起始位置为 0,结束位置为 n。花园中位于点 [0, 1, ..., n] 的 n + 1 个水龙头。如果我们有一个整数 n 和一个长度为 n + 1 的整数数组范围,其中 ranges[i] 是第 i 个水龙头,当该区域打开时,它可以浇灌区域 [i - ranges[i], i + ranges[i]]。我们需要找到应该打开多少个水龙头才能浇灌整个花园,如果没有可能的解决方案,则返回……阅读更多

广告
© . All rights reserved.