首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2024-08-10:用go语言,给定两个下标从 1 开始的整数数组 `nums` 和 `changeIndices`,分别长度为 `n` 和 `m?

2024-08-10:用go语言,给定两个下标从 1 开始的整数数组 `nums` 和 `changeIndices`,分别长度为 `n` 和 `m?

提问于 2024-08-10 08:21:03
回答 0关注 0查看 58

2024-08-10:用go语言,给定两个下标从 1 开始的整数数组 `nums` 和 `changeIndices`,分别长度为 `n` 和 `m`。最初,`nums` 中的所有下标都是未标记的。

你的任务是标记 `nums` 中所有的下标。你可以在从第 1 秒到第 m 秒的时间段内执行以下操作之一:

1.选择范围 [1, n] 中的一个下标 `i`,将 `nums[i]` 减少 1。

2.如果 `nums[changeIndices[s]]` 等于 0,标记下标 `changeIndices[s]`。

3.不进行任何操作。

请返回一个整数,表示在最优操作下,标记所有下标所需的最早秒数。如果无法标记所有下标,则返回 -1。

输入:nums = [2,2,0], changeIndices = [2,2,2,2,3,2,2,1]。

输出:8。

解释:这个例子中,我们总共有 8 秒。按照以下操作标记所有下标:

第 1 秒:选择下标 1 ,将 nums[1] 减少 1 。nums 变为 [1,2,0] 。

第 2 秒:选择下标 1 ,将 nums[1] 减少 1 。nums 变为 [0,2,0] 。

第 3 秒:选择下标 2 ,将 nums[2] 减少 1 。nums 变为 [0,1,0] 。

第 4 秒:选择下标 2 ,将 nums[2] 减少 1 。nums 变为 [0,0,0] 。

第 5 秒,标​​​​​记 changeIndices[5] ,也就是标记下标 3 ,因为 nums[3] 等于 0 。

第 6 秒,标​​​​​记 changeIndices[6] ,也就是标记下标 2 ,因为 nums[2] 等于 0 。

第 7 秒,什么也不做。

第 8 秒,标记 changeIndices[8] ,也就是标记下标 1 ,因为 nums[1] 等于 0 。

现在所有下标已被标记。

最早可以在第 8 秒标记所有下标。

所以答案是 8 。

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档