ActiveMQ matlab django extjs6.5 map遍历 反射 程序栈 validation grails soap graph plugins ssis outlook Avalon springboot单点登录 git下载项目 python开发安卓应用 dwf文件怎么转成dwg idea格式化代码设置 kubernetes集群 python连接mysql数据库 python读取mysql数据 python服务器开发 java写入文件 java8的新特性 java类的继承 java时间类 获取当前时间java windows7loader 打马赛克的软件 qq免安装版 联发科mt6750 steam怎么卸载 dxsetup 微信小程序源代码 数独软件 视频后期处理软件 t470拆机 黑客入门新手特训
当前位置: 首页 > 学习教程  > 编程语言

LeetCode 189 旋转数组

2021/1/13 19:38:34 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 进阶: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗? from typin…

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

 

进阶:

尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?

from typing import *


class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        len1 = len(nums)
        k=k%len1
        self.reverse(nums, 0, len1 - 1)
        self.reverse(nums, 0, k - 1)
        self.reverse(nums, k, len1 - 1)
        return nums

    def reverse(self, nums, beg, end):
        i, j = beg, end
        while i <= j:
            nums[i], nums[j] = nums[j], nums[i]
            i += 1
            j -= 1

 


本文链接: http://www.dtmao.cc/news_show_600141.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?