数组的旋转,js数组右移

  数组的旋转,js数组右移

  这篇文章给大家带来了一些关于javascript的知识,包括一些关于旋转数组的问题,包括什么是旋转数组,环替换等等。下面我们就来看看,希望能帮到你。

  【相关推荐:javascript视频教程,web前端】

  

1.什么是旋转数组

  旋转阵列可分为左旋和右旋。力扣189题为右旋,今天分享的是左旋。

  给定一个数组,将数组中的元素向左旋转k个位置,其中k为非负数。

  

2.环状替换

  环替换很难理解。如果把数组的数据放在正多边形上,用跳棋的思想替换数据,画个图就好理解了。

  如果n=5,k=2,数字1-5依次放在五边形的顶点上,数字替换的轨迹是1-3-5-2-4-1。回到原点,count=n,结束。轨迹只是一个五角星。

  如果n=6,k=2,数字1-6依次放在六边形的顶点上,数字替换的轨迹是1-3-5-1,回到原点。数n,开始,然后2-4-6-2,回到原点。count=n,结束。轨迹是六边形的两个嵌入的正三角形。

  其他多边形也类似。每前进k个点,总能回到原点。如果中间有漏点,旋转一个角重复上述步骤就可以完成所有顶点。

  

3.LeetCode题目

  给出一个数组并将数组中的元素向右旋转k个位置,其中k为非负。

  示例1:

  输入:nums=[1,2,3,4,5,6,7],k=3

  产出:[5,6,7,1,2,3,4]

  解释:

  向右旋转一步:[7,1,2,3,4,5,6]

  向右旋转两步:[6,7,1,2,3,4,5]

  向右旋转3步:[5,6,7,1,2,3,4]例2:

  输入:nums=[-1,-100,3,99],k=2

  输出:[3,99,-1,-100]

  解释:

  向右旋转1步:[99,-1,-100,3]

  向右旋转两步:[3,99,-1,-100]

4.解法

  我们用下面的例子更具体地说明这个过程:

  nums=[1,2,3,4,5,6]

  k=2

  

5.代码实现

   leetcode超时,但思路是对的。删除最后一个并将最后删除的元素添加到数组的前面。

  脚本

  for(var I=0;我k;i ) {

  var p=nums . pop();

  nums . un shift(p);

  }

  返回nums

  /script这是另一个算法变化。

  脚本

  var rotate=function(nums,k) {

  if (k 0) {

  var arr=[];

  for(var I=0;i nums.lengthi ) {

  arr[I]=nums[I];

  }

  for(var I=0;i nums.lengthi ) {

  nums[(I k)% arr . length]=arr[I];

  }

  返回nums

  }

  }

  console.log(rotate([1,2,3,4,5,6,7],3));

  /script里面还是有很多想法的。您可以翻转阵列、添加阵列或删除阵列。

  【相关推荐:javascript视频教程,web前端】以上是用JavaScript例子讲解旋转数组的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • slice 数组,js中的slice()方法,JS数组方法slice()用法实例分析
  • js数组转字符串,字符串转数组方法,JS 数组转字符串
  • js数组转字符串,字符串转数组方法,JS 数组转字符串,JS数组转字符串实现方法解析
  • js数组筛选的方法,js 多条件筛选
  • js数组筛选的方法,js 多条件筛选,JS实现数组过滤从简单到多条件筛选
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片
  • js数组的常用10种方法详解图,js数组的常用10种方法详解图片,JS数组的常用10种方法详解
  • js数组去重的几种方式,js数组去重最简单的方法
  • js数组去重的几种方式,js数组去重最简单的方法,js数组去重的11种方法
  • js数组去重最简单的方法,数组去重方法js
  • js数组去重最简单的方法,数组去重方法js,七种JS实现数组去重的方式
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些
  • js数组中去除重复值的几种方法是什么,js数组中去除重复值的几种方法有哪些,js数组中去除重复值的几种方法
  • js初始化一个数组,js数组初始化的三种方式
  • js初始化一个数组,js数组初始化的三种方式,js二维数组定义和初始化的三种方法总结
  • 留言与评论(共有 条评论)
       
    验证码: