用Python旋转数组
假设我们有一个数组A。我们必须向右旋转k步。因此,如果数组为A=[5、7、3、6、8、1、5、4],并且k=3,则输出将为[1,5,4,5,7,3,6,8]。步骤就像
[4,5,7,3,6,8,1,5]
[5,4,5,7,3,6,8,1]
[1,5,4,5,7,3,6,8]
为了解决这个问题,我们将按照以下步骤进行。
令n为数组的大小
k=kmodn
A=从n–k到end的A子数组+从0到n–k–1的A子数组
让我们看下面的实现以更好地理解-
示例
class Solution(object):
def rotate(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: None Do not return anything, modify nums in-place instead.
"""
n = len(nums)
k%=n
nums[:] = nums[n-k:]+nums[:n-k]
nums = [5,7,3,6,8,1,5,4]
ob1 = Solution()ob1.rotate(nums, 3)
print(nums)输入值
nums = [5,7,3,6,8,1,5,4] k = 3
输出结果
[1,5,4,5,7,3,6,8]
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志