博客
关于我
【Leetcode】189. Rotate Array
阅读量:205 次
发布时间:2019-02-28

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

题目地址:

给定一个数组 A A A,再给定一个数 k k k,要求将数组右移 k k k位。右移的意思是,每个数字向右挪动 k k k步,如果出界了,就依次再加到数组左边,继续挪。

先将 k k k模掉 A A A的长度,接着只需要三步翻转即可。代码如下:

public class Solution {       public void rotate(int[] nums, int k) {           k %= nums.length;        reverse(nums, 0, nums.length - 1);        reverse(nums, 0, k - 1);        reverse(nums, k, nums.length - 1);    }        public void reverse(int[] nums, int i, int j) {           for (; i < j; i++, j--) {               int tmp = nums[i];            nums[i] = nums[j];            nums[j] = tmp;        }    }}

时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)

转载地址:http://vocs.baihongyu.com/

你可能感兴趣的文章
MySQL死锁套路:一次诡异的批量插入死锁问题分析
查看>>
Mysql死锁问题Deadlock found when trying to get lock;try restarting transaction
查看>>
mysql每个数据库的最大连接数_MySQL数据库最大连接数
查看>>
Mysql流程控制结构,if函数、case结构、if结构、循环结构
查看>>
mysql添加用户
查看>>
MySQL添加用户、删除用户与授权
查看>>
mysql添加用户及权限
查看>>
Mysql添加用户并授予只能查询权限
查看>>
mysql添加用户权限报1064 - You have an error in your SQL syntax问题解决
查看>>
mysql添加索引
查看>>
mysql添加表注释、字段注释、查看与修改注释
查看>>
mysql源码安装
查看>>
Mysql源码安装过程中可能碰到的问题
查看>>
MySQL灵魂16问,你能撑到第几问?
查看>>
MySQL灵魂拷问:36题带你面试通关
查看>>
mysql状态分析之show global status
查看>>
mysql状态查看 QPS/TPS/缓存命中率查看
查看>>
mysql生成树形数据_mysql 实现树形的遍历
查看>>
mysql用于检索的关键字_Mysql全文搜索match...against的用法
查看>>
MySQL用得好好的,为什么要转ES?
查看>>