类别:js / 日期:2023-05-08 / 浏览:212 / 评论:0
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
示例 1:
输入: [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]
示例 2:
输入: [-1, -100, 3, 99] 和 k = 2 输出: [3, 99, -1, -100] 解释: 向右旋转 1 步: [99,-1, -100, 3] 向右旋转 2 步: [3, 99, -1, -100]
答:
function rotate(arr, k) { const len = arr.length; const step = k % len; returnarr.slice(-step).concat(arr.slice(0, len - step)); } rotate([1, 2, 3, 4, 5, 6], 7); // => [6, 1, 2, 3, 4, 5]
版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。
发表评论 / 取消回复