程序通过向右旋转 k 次来找到第 i 个元素

pythonserver side programmingprogramming更新于 2025/12/23 17:16:17

假设我们有一个数组 nums,一个值 k 和另一个值 i。我们必须在将 nums 中的元素向右旋转 k 次后找到索引 i 处的元素。

因此,如果输入为 nums = [2,7,9,8,10] k = 3 i = 2,则输出将为 10,因为第 3 次旋转后数组将为 [9,8,10,2,7],因此现在第 i 个元素将是 nums[2] = 10。

为了解决这个问题,我们将遵循以下步骤 −

  • 对于 0 到 k 范围内的 r,执行
    • 从 nums 中删除最后一个元素并将该删除的元素插入到位置 0 的 nums 中
  • 返回 nums[i]

示例

让我们看看下面的实现以便更好地理解

def solve(nums, k, i):
   for r in range(k):
      nums.insert(0, nums.pop())
   return nums[i]

nums = [2,7,9,8,10]
k = 3
i = 2
print(solve(nums, k, i))

输入

[2,7,9,8,10] , 3, 2

输出

10

相关文章


有用资源