#coding:utf-8
'''
Created on 2017-9-24
@author: 刘帅
'''
def rotate_new_list(nums,k):#新开一个数组
t = []
for i in range(len(nums)):
#print i
#print (i + k)%7
t.insert((i + k)%7,(nums[i]))
print t
def rotate_one_by_one(nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: void Do not return anything, modify nums in-place instead.
"""
n = len(nums)
for i in range(k):
temp = nums[n-1]
for j in range(n-1, 0, -1):
nums[j] = nums[j-1]
nums[0] = temp
#
# Reverse segments of the array, followed by the entire array
# T(n)- O(n)
#
def rotate(nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: void Do not return anything, modify nums in-place instead.
"""
n = len(nums)
k = k % n
reverse(nums, 0, n - k - 1)
reverse(nums, n - k, n - 1)
reverse(nums, 0, n - 1)
def reverse(array, a, b):
while a < b:
array[a], array[b] = array[b], array[a]
a += 1
b -= 1
nums = [1,2,3,4,5,6,7]
rotate_new_list(nums, 0)
rotate(nums, 0)
print nums
rotate_array
最新推荐文章于 2020-03-28 06:02:04 发布