旋转k次以找到第i个元素的程序

旋转k次以找到第i个元素的程序

假设我们有一个名为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。

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

  • 对于每一个r在0到k的范围内,做以下操作
    • 从nums中删除最后一个元素,并将该删除的元素插入到nums的第0个位置
  • 返回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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程