向右旋轉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

更新於:2021年10月12日

瀏覽量:112

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告