給定乙個陣列,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。
示例 1:
輸入:示例 2:[1,2,3,4,5,6,7]
和 k = 3輸出:
[5,6,7,1,2,3,4]
解釋:向右旋轉 1 步:
[7,1,2,3,4,5,6]
向右旋轉 2 步:[6,7,1,2,3,4,5]
向右旋轉 3 步:[5,6,7,1,2,3,4]
輸入:說明:[-1,-100,3,99]
和 k = 2輸出: [3,99,-1,-100]
解釋:
向右旋轉 1 步: [99,-1,-100,3]
向右旋轉 2 步: [3,99,-1,-100]
列表的分片操作
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
class
solution():
defrotate(self, nums, k):
""":type nums: list[int]
:type k: int
:rtype: void do not return anything, modify nums in-place instead.
"""nums_len =len(nums)
nums[:] = nums[nums_len - k :] + nums[:nums_len -k]
if__name__ == '
__main__':
test_nums1 = [-1, -100, 3, 99]
test_nums2 = [1, 2, 3, 4, 5, 6, 7]
my_solution =solution()
my_solution.rotate(test_nums1, 2)
my_solution.rotate(test_nums2, 3)
(test_nums1)
print(test_nums2)
LeetCode 旋轉陣列
將包含n 個元素的陣列向右旋轉 k 步。例如,如果 n 7 k 3,給定陣列 1,2,3,4,5,6,7 向右旋轉後的結果為 5,6,7,1,2,3,4 注意 盡可能找到更多的解決方案,這裡最少有三種不同的方法解決這個問題。要求空間複雜度為 o 1 關聯的問題 反轉字串中的單詞 ii public ...
LeetCode 旋轉陣列
給定乙個陣列,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。示例 1 輸入 1,2,3,4,5,6,7 和 k 3輸出 5,6,7,1,2,3,4 解釋 向右旋轉 1 步 7,1,2,3,4,5,6 向右旋轉 2 步 6,7,1,2,3,4,5 向右旋轉 3 步 5,6,7,1,2,3,4...
leetcode 旋轉陣列
給定乙個陣列,將陣列中的元素向右移動 k 個位置,其中 k 是非負數。示例 1 輸入 1,2,3,4,5,6,7 和 k 3 輸出 5,6,7,1,2,3,4 解釋 向右旋轉 1 步 7,1,2,3,4,5,6 向右旋轉 2 步 6,7,1,2,3,4,5 向右旋轉 3 步 5,6,7,1,2,3,...