前端与算法 leetcode 189. 旋转数组

Posted 墨抒颖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端与算法 leetcode 189. 旋转数组相关的知识,希望对你有一定的参考价值。

# 前端与算法 leetcode 189. 旋转数组

题目描述

189. 旋转数组

概要

把他当做一到简单的题来做,不要想太多了就好也可以不整那些花里胡哨的,直接旋转数组n次,我一开始也想到了这个办法,但是觉得太简单而且效率低下,想了很久也没想到合适的办法

提示

使用额外的数组

解析

用一个额外的数组将每个元素放到对应的位置就好 下标为i的位置对应(i+k)%数组长度 ,然后把新的数组拷贝(深拷贝)到原数组即可

算法

/**
?*?@param?{number[]}?nums
?*?@param?{number}?k
?*?@return?{void}?Do?not?return?anything,?modify?nums?in-place?instead.
?*/
var?rotate?=?function?(nums,?k)?{
??const?re?=?[]
??for?(let?i?=?0;?i?<?nums.length;?i++)?{
????re[(i?+?k)?%?nums.length]?=?nums[i]
??}
??for?(let?j?=?0;?j?<?nums.length;?j++)?{
????nums[j]?=?re[j]
??}
}

传入[1,2,3,4,5,6,7] 3的运行结果

[5,6,7,1,2,3,4]

执行结果

执行用时 :68 ms, 在所有 javascript 提交中击败了97.94% 的用户
内存消耗 :36.1 MB, 在所有 javascript 提交中击败了9.91%的用户

以上是关于前端与算法 leetcode 189. 旋转数组的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode No.189 旋转数组

leetcode189旋转数组

Leetcode刷题100天—189. 旋转数组(双指针)—day20

Leetcode刷题100天—189. 旋转数组(双指针)—day20

数组旋转 Leetcode#189

Leetcode 189.旋转数组 By Python