leetcode189 python旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
示例 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]
说明:
- 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
- 要求使用空间复杂度为 O(1) 的原地算法。
先看一个超出时间限制的情况(ps:本题不需要返回值)
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."""for i in range(k):temp=nums[len(nums)-1]for j in range(len(nums)):nums[len(nums)-1-j]=nums[len(nums)-2-j]nums[0]=temp
另一种简单解法
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."""k=k%len(nums)#保证循环次数在0-len(nums)之间nums[:]=nums[len(nums)-k:]+nums[:len(nums)-k]#切割成两块重新组合
leetcode189 python旋转数组相关推荐
- Python 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最 ...
- python旋转数组_Python3实现旋转数组的3种算法
一.试题 给出一个数组,将数组中的元素往右边移动k个位置,当中k是非负数. 比如说: 输入:[1,2,3,4,5,6,7]和k=3 输出:[5,6,7,1,2,3,4] 解释: 往右边旋转1步:[7, ...
- Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离
Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...
- 面试题11. 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转, ...
- 【算法编程】旋转数组查找最小数字
题目来源:牛客网 题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2, ...
- 旋转数组的最小元素——《剑指offer》
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转.请返回旋转 ...
- 剑指offer:面试题11. 旋转数组的最小数字
题目:旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2, ...
- python添加数组元素_Python列表附录–如何向数组添加元素,并附带示例说明
python添加数组元素 欢迎 (Welcome) Hi! If you want to learn how to use the append() method, then this article ...
- 剑指offer_第6题_旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋 ...
最新文章
- 牛津大学的研究人员首次在人体植入“闭环”生物电子研究系统
- 金鑫是著名高校计算机,金鑫 个人简历
- winxp登陆后自动注销
- (转) 使用vivado创建工程 1
- UVA 10534 Wavio Sequence DP LIS
- 什么是线程单线程和多线程_什么是多线程?看我多线程七十二变,你能记住吗?...
- how to make milt-Lang windows installer All in 1
- Html显示缩略图点击展示,JS点击缩略图整屏居中放大图片效果
- SIR模型简单了解(Susceptible Infected Recovered Model)
- 基于eTS高效开发HarmonyOS课程类应用
- 用百度大脑EasyDL平台轻松玩转AI
- SpringAOP源码解析之aop:aspectj-autoproxy标签解析
- 证明集合的包含关系和相等的常用的方法
- java:AXIS调用webService接口,返回String类型xml,并用dom4j简单解析xml
- 【HDU3292】数学_佩尔方程
- python求平均值
- 使用navicat连接mysql出现提示10038错误的解决方法
- IE8 松散耦合进程框架(Loosely-Coupled IE (LCIE)--特性介绍
- EBYTE ROLA通信模块初步学习
- B2:Unity制作Moba类游戏——聊天系统
热门文章
- 计算机游戏155,MAME0.155经典1430款游戏合集
- IT出路:跳出TCO,着眼TVO(总体拥有价值)
- 使用ffmpeg将图片合成为视频(附完整参数介绍)
- 新媒体运营:如何策划出一场完整高效的活动方案?(一) 黎想
- 旅游类App的原型制作分享-Klook
- Mac 使用 tar 压缩生成 “._” 文件的解决办法
- TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captu
- python 列表根据汉字拼音进行排序 / 查询结果集(列表嵌套字典)根据特定key字段拼音进行整体排序
- 工业数据安全治理参考框架
- kali虚拟机安装提示安装系统步骤失败