美文网首页
数组旋转: 返回将一维数组向右旋转k个位置的结果

数组旋转: 返回将一维数组向右旋转k个位置的结果

作者: 并肩走天涯 | 来源:发表于2016-08-24 15:12 被阅读46次

数组旋转:返回将一维数组向右旋转k个位置的结果。比如,一维数组[1,2,3,4,5],k=2时,返回结果[4,5,1,2,3]。要求常数级空间复杂度,允许修改原有数组。

  var reverse = function ( args, start, end ) {
    while (start < end) {
      let tmp = args[start];
      args[start] = args[end];
      args[end] = tmp;
      start++;
      end--;
    }
  };

  var rotate = function ( args, k ) {
    if (args == null || k >= args.length) {
      return args;
    }

    reverse(args, 0, args.length - 1);
    reverse(args, 0, k - 1);
    reverse(args, k, args.length - 1);

    return args;
  };

  var args = [1, 2, 3, 4, 5];

相关文章

  • 数组旋转: 返回将一维数组向右旋转k个位置的结果

    数组旋转:返回将一维数组向右旋转k个位置的结果。比如,一维数组[1,2,3,4,5],k=2时,返回结果[4,5,...

  • leecode刷题(3)-- 旋转数组

    leecode刷题(3)-- 旋转数组 旋转数组 给定一个数组,将数组中的元素向右移动 K 个位置,其中 K 是非...

  • LeetCode: 旋转数组

    旋转数组 English Description 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非...

  • 每周 ARTS 第 28 周

    1. Algorithm 旋转数组(简单) 描述: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是...

  • 每日一道算法题 - 旋转数组

    问题 给定一个数组nums,将数组中的元素【向右】旋转k个位置。 思路 每个元素向右旋转,相当于要确定当前元素的新...

  • Swift 旋转数组 - LeetCode

    旋转数组 将包含 n 个元素的数组向右旋转 k 步。 例如,如果 n = 7 , k = 3,给定数组[1,2...

  • LeetCodeDay02

    189. 旋转数组 描述 将包含 n 个元素的数组向右旋转 k 步。 例如,如果 n = 7 , k = 3,...

  • Swift 旋转数组 - LeetCode

    题目:旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 示例 2: 说...

  • 刷leetCode算法题+解析(十六)

    旋转数组 题目:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1:输入: [1,2...

  • 旋转数组

    旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1:输入: [1,2,3,...

网友评论

      本文标题:数组旋转: 返回将一维数组向右旋转k个位置的结果

      本文链接:https://www.haomeiwen.com/subject/kthosttx.html