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