题目:轮转数组
给定一个整数数组 nums
,将数组中的元素向右轮转 k
个位置,其中 k
是非负数。
解法1:
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
num_1 = []
for j in nums:
num_1.append(j)
for i in range(len(nums)):
loc = (i+k)%len(nums)
num_1[loc] = nums[i]
for j in range(len(num_1)):
nums[j] = num_1[j]
解法2:
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
n = len(nums)
#如果k>n 需要取余k%n
nums[:] = nums[-k%n:] + nums[:-k%n]