您的位置:首页 > 其它

leetcode_189. Rotate Array 原地旋转数组

2016-11-10 17:49 417 查看
题目:

Rotate an array of n elements to the right by k steps.

For example, with n = 7 and k = 3, the array 
[1,2,3,4,5,6,7]
 is
rotated to 
[5,6,7,1,2,3,4]
.

Note:

Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.

题意:

给定一个数组nums和常数k,就地将数组中的每个数往后移k个位置。

代码:

class Solution(object):

    def rotate(self, nums, k):

        """

        :type nums: List[int]

        :type k: int

        :rtype: void Do not return anything, modify nums in-place instead.

        """

        

        n = len(nums)

        

        nums_lis = list(nums)    #定义一个list,记录移动k个位置后的数组

        

        for i in range(n) :

            pos = (i+k)%n

            nums_lis[pos] = nums[i]

        

        for i in range(n) :

            nums[i] = nums_lis[i]           #就地修改原来的数组
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: