题解 | #旋转数组#

旋转数组

https://www.nowcoder.com/practice/e19927a8fd5d477794dac67096862042


class Solution:
    def solve(self , n: int, m: int, a: List[int]) -> List[int]:
    
        def func(i, j):
            while i < j:
                a[i], a[j] = a[j], a[i]
                i += 1
                j -= 1
        m = m % n # 避免过多的移动

        func(0, n-1) # 先整体翻转
        func(0, m-1) # 再翻转前m个
        func(m, n-1) # 最后反转剩下的
        return a

全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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