旋转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