题解 | #旋转数组#
旋转数组
https://www.nowcoder.com/practice/e19927a8fd5d477794dac67096862042
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 旋转数组
# @param n int整型 数组长度
# @param m int整型 右移距离
# @param a int整型一维数组 给定数组
# @return int整型一维数组
#试了很多语法,写了列表逆转函数,下方直接调用的三个reverse()会返回三个全新的逆转列表,不能相连,return时相连
class Solution:
def reverse(self, array):
left = 0
right = len(array) - 1
while left < right:
temp = array[right]
array[right] = array[left]
array[left] = temp
left += 1
right -= 1
print(array)
return array
def solve(self , n: int, m: int, a: List[int]) -> List[int]:
if a is None:
return None
if m > n:
m %= n
self.reverse(a)
#self.reverse(a[:m])
#self.reverse(a[m:])
#print(self.reverse(a[:m])+ self.reverse(a[m:]))
#return a#self.reverse(a[:m]).extend(self.reverse(a[m:]))
return self.reverse(a[:m])+ self.reverse(a[m:])
