最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS算法題解旋轉(zhuǎn)數(shù)組方法示例

 更新時間:2023年07月14日 09:10:34   作者:醉前端  
這篇文章主要為大家介紹了JS算法題解旋轉(zhuǎn)數(shù)組方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目

給定一個數(shù)組,將數(shù)組中的元素向右移動 k 個位置,其中 k 是非負數(shù)。

示例 1:

輸入: [1,2,3,4,5,6,7] 和 k = 3 輸出: [5,6,7,1,2,3,4]

解釋:

向右旋轉(zhuǎn) 1 步: [7,1,2,3,4,5,6]

向右旋轉(zhuǎn) 2 步: [6,7,1,2,3,4,5]

向右旋轉(zhuǎn) 3 步: [5,6,7,1,2,3,4]

示例 2:

輸入: [-1,-100,3,99] 和 k = 2 輸出: [3,99,-1,-100]

解釋:

向右旋轉(zhuǎn) 1 步: [99,-1,-100,3]

向右旋轉(zhuǎn) 2 步: [3,99,-1,-100]

答案

解法1:

const rotate = (nums, k) => {
    for(var i = 0; i<k; i++){
        nums.unshift(nums.pop());
    }
    return nums;
}

解法2:

const rotate = (nums, k) => {
    const n = nums.length;
    let tmpEnd = 0;
    let tmpPrev = 0;
    for(let i = 0; i<k; i++) {
        tmpEnd = nums[n-1];
        for(let r = 0; r<n; r++) {
            tmpPrev = nums[r];
            nums[r] = tmpEnd;
            tmpEnd = tmpPrev;
        }
    }
    return nums
};

解法3:

const rotate = (nums, k) => {
    const n = nums.length;
    let reversePoint = n - k%n;
    reversePoint != 0 && (nums = nums.slice(reversePoint).concat(nums.slice(0, reversePoint)));
    return nums;
}

解法4:

const rotate = (nums, k) => {
    const n = nums.length;
    let newArr = new Array(n);
    for(let i = 0;i<n; i++){
        newArr[(i+k)%n] = nums[i];
    }    
    for(let r = 0; r<n; r++){
        nums[r] = newArr[r];
    }  
    return nums  
}

以上就是JS算法題解旋轉(zhuǎn)數(shù)組方法示例的詳細內(nèi)容,更多關(guān)于JS算法題解旋轉(zhuǎn)數(shù)組的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

铜鼓县| 斗六市| 兴城市| 兰西县| 奉化市| 文安县| 石渠县| 微山县| 壶关县| 蒲城县| 柳江县| 钦州市| 丹寨县| 新晃| 赤峰市| 富阳市| 正镶白旗| 自贡市| 韶关市| 依安县| 双江| 民乐县| 中方县| 瑞金市| 阿鲁科尔沁旗| 信阳市| 台南县| 玉林市| 藁城市| 唐河县| 甘泉县| 墨竹工卡县| 绍兴县| 泰和县| 谢通门县| 全椒县| 桑日县| 漳浦县| 纳雍县| 宜川县| 黄平县|