博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode--189--旋转数组
阅读量:5806 次
发布时间:2019-06-18

本文共 1545 字,大约阅读时间需要 5 分钟。

问题描述:

给定一个数组,将数组中的元素向右移动 个位置,其中 是非负数。

示例 1:

输入: [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]

示例 2:

输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释: 向右旋转 1 步: [99,-1,-100,3]向右旋转 2 步: [3,99,-1,-100]

方法1:1234567  k = 2 step1:54321 76 ;step2:6712345

1 class Solution(object): 2     def rotate(self, nums, k): 3         """ 4         :type nums: List[int] 5         :type k: int 6         :rtype: void Do not return anything, modify nums in-place instead. 7         """ 8         width = len(nums) 9         if width == 0 or width == 1:10             nums = []11             return12         if width == k:13             return14         nums[width - k:] = nums[:width-k-1:-1]15         nums[:width - k ] = nums[width - k - 1::-1]16         nums.reverse()

官方:

1 class Solution(object): 2     def rotate(self, nums, k): 3         """ 4         :type nums: List[int] 5         :type k: int 6         :rtype: void Do not return anything, modify nums in-place instead. 7         """ 8         n=len(nums) 9         if n<2 or k==0:10             return 11         k=k%n12         nums[:k],nums[k:]=nums[n-k:],nums[:n-k]

官方二:

1 class Solution(object):2     def rotate(self, nums, k):3         """4         :type nums: List[int]5         :type k: int6         :rtype: void Do not return anything, modify nums in-place instead.7         """ 8         k = k % len(nums)9         nums[:]=nums[-k:]+nums[:-k]

2018-09-15 11:57:25

转载于:https://www.cnblogs.com/NPC-assange/p/9650572.html

你可能感兴趣的文章
【Mybatis框架】输入映射-pojo包装类型
查看>>
js 动态添加input代码
查看>>
oldboy 27期学习计划
查看>>
我的友情链接
查看>>
Caused by: javax.el.ELException:
查看>>
我的友情链接
查看>>
【Nocti推荐】Sublime text!超赞代码编辑器
查看>>
《笨方法学Python》ex22(1)
查看>>
jquery 点击空白处将下拉的list收回
查看>>
8.3磁盘3
查看>>
第25讲 js系统函数 js函数调用方式
查看>>
JFinal+Vue 实现 Java 高并发秒杀示例
查看>>
02-准备实验环境-007-安装-Windows Server 2019-标准版-制作模板机
查看>>
php 5 中php-fpm 配置
查看>>
我归纳的各种编程方式
查看>>
GitHub for Windows新特性一览:与Visual Studio深度集成
查看>>
ORA-00257: archiver error. Connect internal only, until freed.
查看>>
java连接oracle数据库报错:the account is locked(已解决)
查看>>
jquery事件重复绑定解决办法
查看>>
我的友情链接
查看>>