JS算法題解旋轉數組方法示例

    目錄 題目 示例 1: 示例2: 答案 解法1: 解法2: 解法3: 解法4: 題目 給定一個數組,將數組中的元素向右移動k個位置,其中k是非負數。 示例 1: 輸入: [1,2,3,4,5,6,7] 和 k = 3 輸出: [5,6,7,
    目錄
    • 題目
      • 示例 1:
      • 示例?2:
    • 答案
      • 解法1:
      • 解法2:
      • 解法3:
      • 解法4:

    題目

    給定一個數組,將數組中的元素向右移動?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]

    答案

    解法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算法題解旋轉數組方法示例的詳細內容,更多關于JS算法題解旋轉數組的資料請關注技圈網其它相關文章!

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 成人无号精品一区二区三区| 国产一区二区三区在线观看免费 | 精品91一区二区三区| 国产成人精品一区二三区熟女| 无码中文字幕一区二区三区| 亚洲大尺度无码无码专线一区| 久久精品无码一区二区三区日韩| 亚洲AV无码一区二区三区牛牛 | ...91久久精品一区二区三区| 国产一区中文字幕| 无码人妻一区二区三区免费n鬼沢| 久久久国产精品无码一区二区三区| 久久精品国产一区二区三区肥胖 | 夜夜精品视频一区二区| 亚洲国产韩国一区二区| 无码人妻AⅤ一区二区三区| 久久久不卡国产精品一区二区 | 动漫精品一区二区三区3d| 精品国产日韩亚洲一区在线| 精品视频一区二区三区四区 | 精品成人乱色一区二区| 在线观看一区二区三区av| 无码夜色一区二区三区| 国产主播在线一区| 视频一区二区三区人妻系列| 亚洲欧洲一区二区三区| 精品亚洲一区二区| 无码精品一区二区三区| 天堂不卡一区二区视频在线观看| 男人的天堂亚洲一区二区三区| 亚洲人AV永久一区二区三区久久| 丝袜无码一区二区三区| 冲田杏梨AV一区二区三区| 人妻少妇一区二区三区| 久久久无码精品人妻一区| 国产在线视频一区二区三区98 | 一区二区三区杨幂在线观看| 91福利国产在线观看一区二区| 色窝窝无码一区二区三区 | 无码人妻精品一区二区蜜桃网站 | 中文字幕一区二区三区乱码|