题解 | #旋转数组#

旋转数组

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:])

全部评论

相关推荐

牛马人的牛马人生:太舒服了接接接
点赞 评论 收藏
分享
MrGaomq:你沟通的太少了,我两个号沟通了都1w多了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务