成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

【刷算法】順時針打印矩陣

Terry_Tai / 3251人閱讀

摘要:題目描述輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字,例如,如果輸入如下矩陣則依次打印出數(shù)字解題傳入的參數(shù)為或者不是數(shù)組或者是空數(shù)組傳入的是一維數(shù)組

題目描述

輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字,例如,如果輸入如下矩陣:

 1  2  3 4 
 5  6  7 8 
 9 10 11 12 
 13 14 15 16 

則依次打印出數(shù)字

1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
解題
function printMatrix(m)
{
    // 傳入的參數(shù)為null或者不是數(shù)組或者是空數(shù)組
    if(!m || !Array.isArray(m) || m.length === 0)
        return [];
    // 傳入的是一維數(shù)組
    if(!m[0].length)
        m = [m]
    var left =  0,
        right = m[0].length-1,
        top = 0,
        down = m.length-1;
    var res = [];
    while(left  <= right && top <= down) {
        if(top === down) {
            for(var i = left;i <= right;i++)
                res.push(m[top][i]);
        }
        else if(left === right) {
            for(var i = top;i <= down;i++)
                res.push(m[i][left]);
        }
        else {
            var curCol = left, curRow = top;
            while(curCol !== right) {
                res.push(m[top][curCol++]);
            }
            while(curRow !== down) {
                res.push(m[curRow++][right])
            }
            while(curCol !== left) {
                res.push(m[down][curCol--]);
            }
            while(curRow !== top) {
                res.push(m[curRow--][left]);
            }
        }
        
        left++;
        right--;
        top++;
        down--;
    }
    return res;
}





文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/95646.html

相關文章

  • 【劍指offer】時針打印矩陣

    摘要:題目輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字,例如,如果輸入如下矩陣則依次打印出數(shù)字題解這個題目就是正常的模擬就好。此外還要注意判斷一下矩陣是的情況。 題目 輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字,例如,如果輸入如下4 X 4矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數(shù)字1,2,3,4,8...

    Hujiawei 評論0 收藏0
  • 算法】LeetCode.48-旋轉圖像

    摘要:題目描述給定一個的二維矩陣表示一個圖像。將圖像順時針旋轉度。說明你必須在原地旋轉圖像,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉圖像。 題目描述 給定一個 n × n 的二維矩陣表示一個圖像。 將圖像順時針旋轉 90 度。 說明: 你必須在原地旋轉圖像,這意味著你需要直接修改輸入的二維矩陣。請不要使用另一個矩陣來旋轉圖像。 示例 1: 給定 matrix = [...

    mdluo 評論0 收藏0
  • js實現(xiàn)螺旋矩陣算法

    摘要:用填充一個的矩陣,該矩陣按順時針旋轉方向依次增大,用編程輸出這個數(shù)組。要求如下我的思路先生成一個一維的數(shù)組這里實現(xiàn)的算法是通過略微修改了然后通過算法實現(xiàn)變化對應賦值方式有點蠢,通過實現(xiàn)還有有所收獲的完整 Q:用0-9填充一個N*N的矩陣,該矩陣按順時針旋轉方向依次增大,用js編程輸出這個數(shù)組。要求如下:showImg(https://segmentfault.com/img/bVO7z...

    oogh 評論0 收藏0
  • js實現(xiàn)螺旋矩陣算法

    摘要:用填充一個的矩陣,該矩陣按順時針旋轉方向依次增大,用編程輸出這個數(shù)組。個人覺得這個思路不是最優(yōu)解,各位路過的高手如果有更好思路,望不吝賜教。請輸入代碼此處可給賦值即可,比如生成矩陣,就等于 Q:用0-9填充一個N*N的矩陣,該矩陣按順時針旋轉方向依次增大,用js編程輸出這個數(shù)組。要求如下:showImg(https://segmentfault.com/img/bVJ5Uf?w=210...

    bbbbbb 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<