旋转数组

写旋转数组方法:

输入: [1, 2, 3, 4, 5, 6, 7] 和 k = 3
输出: [5, 6, 7, 1, 2, 3, 4]
解释:
向右旋转 1 步: [7, 1, 2, 3, 4, 5, 6]
向右旋转 2 步: [6, 7, 1, 2, 3, 4, 5]
向右旋转 3 步: [5, 6, 7, 1, 2, 3, 4]

解析:

// 因为步数有可能大于数组长度,所以要先取余
function rotate(arr, k) {
  const len = arr.length
  const step = k % len
  console.log(step,'步长')
  return arr.slice(-step).concat(arr.slice(0, len - step))
}
console.log(rotate([1,2,3,4,5,6,7,8,9,10],3))

注:取余

posted @ 2019-07-31 17:17  安博主  阅读(234)  评论(0编辑  收藏  举报