在 Python 中旋轉陣列
假設我們有一個數組 A。我們需要將其向右旋轉 k 步。因此,如果陣列為 A = [5, 7, 3, 6, 8, 1, 5, 4],k = 3,則輸出將為 [1,5,4,5,7,3,6,8]。步驟如下
- [4,5,7,3,6,8,1,5]
- [5,4,5,7,3,6,8,1]
- [1,5,4,5,7,3,6,8]
為了解決此問題,我們將按照以下步驟進行操作。
- 令 n 為陣列的大小
- k = k 模 n
- A = A 中從 n - k 到末尾的子陣列 + A 中從 0 到 n - k - 1 的子陣列
為了更好地理解,讓我們看以下實現 -
示例
class Solution(object): def rotate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: None Do not return anything, modify nums in-place instead. """ n = len(nums) k%=n nums[:] = nums[n-k:]+nums[:n-k] nums = [5,7,3,6,8,1,5,4] ob1 = Solution() ob1.rotate(nums, 3) print(nums)
輸入
nums = [5,7,3,6,8,1,5,4] k = 3
輸出
[1,5,4,5,7,3,6,8]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP