博客
关于我
【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/

你可能感兴趣的文章
圆角几何艺术动态壁纸
查看>>
SpamSieve for mac(邮件过滤器)
查看>>
炫酷的圣诞球徽标AE模板
查看>>
uFocus for Mac(mac文本编辑器)
查看>>
2017CS231n笔记5.CNN
查看>>
Linux系统安装Nodejs
查看>>
vue项目报错集合
查看>>
golang语法基础 编译、运行
查看>>
图片链接
查看>>
html-javascript网页编辑-绘图连线
查看>>
LINUX-WIFI无线接入的一些东西
查看>>
word文档手写字母总会大写问题
查看>>
Redis中的key
查看>>
Andriod进阶之路 - DataBinding的简单使用
查看>>
juc-09-控制并发流程工具类
查看>>
第一节 docker安装
查看>>
Linux系统时间与硬件时间及时间同步
查看>>
Django静态文件的加载以及STATIC_URL、 STATIC_ROOT 、STATICFILES_DIRS的区别
查看>>
maven 必会常用命令
查看>>
Spring 和 DI 依赖注入
查看>>