最新国产好看的视频,伊人天堂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)文章

最新評論

兴安县| 电白县| 巴楚县| 江都市| 泊头市| 西乌珠穆沁旗| 剑川县| 天台县| 辽宁省| 江西省| 安达市| 樟树市| 嘉黎县| 阳东县| 阳信县| 壤塘县| 新平| 博罗县| 东明县| 翁源县| 德清县| 永仁县| 屏边| 英超| 个旧市| 酒泉市| 浦城县| 修水县| 黔东| 永川市| 紫阳县| 金门县| 松潘县| 夏邑县| 吉林省| 巴林左旗| 扶沟县| 巩留县| 建瓯市| 磴口县| 洛扎县|