03_旋转数组

"""
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
示例:
输入: nums = [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]

"""
class Solution:
    def rotate(self,nums:list,k:int) -> None:
        """
        给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数
        不返回任何东西,而是就地修改nums
        :param nums: list
        :param k: int
        :return: None
        """
        # for i in range(k):
        #     nums = nums[-1:] + nums[:-1]

        n = len(nums)
        k %= n
        nums[:] = nums[::-1]
        nums[:k] = nums[:k][::-1]
        nums[k:] = nums[k:][::-1]
        nums = nums[:k] + nums[k:]
        print(nums)

s = Solution()
s.rotate([1,2,],5)

 

posted @ 2021-10-27 16:06  这世界我来过  阅读(38)  评论(0)    收藏  举报