旋转数组---python,No不需要循环(呜呜呜,妈妈~我出息了)
真不敢相信我居然,没有用循环,纯纯小白文大佬请原谅@——@嘿嘿
给你一个数组,将数组中的元素向右轮转
k
个位置,其中k
是非负数。
最开始的时候我想这,python就很简单 ,不就是换个位置嘛,然后直接一个大弄特NO!!!姐妹们他有坑,这是我刚开的框架,我看着这没问题啊,但是就是通不过,好生气!
直到我看到
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
是它就是它!!!不能换地址
因为它不返回值
如果宝贝们没注意,就提交,力扣公关只会说,你这个题OUT,因为它是根据地址来输出nums数组
说通俗一点存一个数据,1.内容,2.地址
呢如何使用上种方法,而且不换地址 ,大家看看下面的几个例子
很明显当a[:] =c时,a的地址没有改变,当a=c时,a的地址则会被改变
这不就好办了,在最后a后面加个[ : ]不就OK,了!
废话不多说,代码奉上~~
class Solution:def rotate(self, nums: List[int], k: int) -> None:"""Do not return anything, modify nums in-place instead."""b=len(nums)if(k<=b):nums[:]=nums[b-k:]+nums[0:b-k]else:k=k%bnums[:]=nums[b-k:]+nums[0:b-k]#加[:]!!!a=[1,2,3,4,5,6,7]
k=3
solution=Solution()
c=solution.rotate(a,k)
下面是一个,小的的错误分享,大人们也可以跳过
在我提交的二次,它就差一点对了,它报了,这样一个错
没想到当时,我也很蒙,我想这咋还能移第五个呢???我用重新审题了,原来它是轮回的所以我再次修改,当移动的值大于数组元素个数时,就是取余,其余都是轮回,OK,不知道有没有小可爱和我犯一样错,呜呜呜
旋转数组---python,No不需要循环(呜呜呜,妈妈~我出息了)相关推荐
- Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离
Algorithm:C++/python语言实现之求旋转数组最小值.求零子数组.求最长公共子序列和最长公共子串.求LCS与字符串编辑距离 目录 一.求旋转数组最小值 1.分析问题 2.解决思路 二.求 ...
- 旋转数组(将数组元素循环右移k次)
189.旋转数组(将数组元素循环右移k次) 题目: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 1. 每次只将最后一个元素右移至数组头部位置,重复k%nums.length ...
- Python 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最 ...
- 旋转数组的最小元素——《剑指offer》
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转.请返回旋转 ...
- python跳出双层for循环的解决方法
转载 python跳出双层for循环的解决方法 一.问题描述 在二维数组的遍历中,我们经常使用双层for循环.在某些时候,我们并不需要遍历整个二维数组.当条件满足时就应该终止for循环.但是,直接在内 ...
- JAVA实现旋转数组的最小数字问题(《剑指offer》)
题目:旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减序列的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5} ...
- python while循环语句-谈谈Python中的while循环语句
前言 python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组. ...
- leetcode旋转数组 c语言,leetcode explore 初级算法第三题,旋转数组代码实现
leetcode explore 初级算法第三题,旋转数组代码实现.原题链接: 题目分析 因为题目不是很长,这里把题目贴出来: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. ...
- 程序员面试题精选100题(42)-旋转数组的最小元素[算法]
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个排好序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的 ...
最新文章
- 为啥同一个程序,单步执行和debug执行出现的结果不一样呢?
- Codeforces Round #324 (Div. 2) E. Anton and Ira 贪心
- 支持任意排序的分页存储过程
- c语言数据结构 自测卷答案,《c语言数据结构》第2章 自测卷答案
- SYBASE灾难备份方案
- 程序员出差是去干什么_让我来告诉你,35岁以上的人都在干什么!
- 详解4种经典的限流算法
- html判断输入是否为空格,javascript怎么判断是否为空格?
- final finalize finally比较
- PostgreSQL在何处处理 sql查询之二十五
- java普通md5加密解密_java 采用MD5加密解密
- 计算机主机接口,计算机主机背面有哪些接口
- AttributeError: 'list' object has no attribute 'send_keys',python+selenium 实现QQ空间网页的自动登陆。
- Using的三种使用方法
- cpuz测试分数天梯图_PC电脑桌面CPU天梯图2020 单路CPU性能排名
- 综合布线之“五星对话”
- 浙大版《Python 程序设计》题目集 第4章-9 查询水果价格
- 企业成功的秘密:成为独角兽
- Java入门(四):进阶
- python的numpy教程_ROS与Python入门教程-使用numpy