向右旋转k次后查找第i个元素的程序
假设我们有一个数组nums,一个值k和另一个值i。我们必须在将nums的元素向右旋转k次后找到索引i处的元素。
因此,如果输入类似于nums = [2,7,9,8,10] k = 3 i = 2,则输出将为10,因为在第三次旋转后数组将为[9,8,10,2,7],所以现在第i个元素将为nums[2] = 10。
为了解决这个问题,我们将遵循以下步骤:
- 对于范围0到k的r,执行:
- 从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
广告