91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LeetCode二維數組中如何實現對角線遍歷

發布時間:2021-12-15 11:35:38 來源:億速云 閱讀:330 作者:小新 欄目:大數據

這篇文章主要介紹LeetCode二維數組中如何實現對角線遍歷,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!


題目描述:“給定一個含有M*N個元素的矩陣,請以對角線遍歷的順序返回矩陣中的元素”

(矩陣中元素<=10000)


示例:

matrix=[[1, 2, 3],[4, 5, 6],[7, 8, 9],]
     


[1, 2, 4, 7, 5, 3, 6, 8, 9]
     

LeetCode二維數組中如何實現對角線遍歷


 

算法思路

尋找元素遍歷的規律

LeetCode二維數組中如何實現對角線遍歷

按照對角線將元素劃分,你會發現一些規律:

  • 將每一個對角線上的元素各自看成一組,對角線數組的個數如下:
    (len(matrix)+len(matrix[0])-1)  
  • 如果將對角線數組從左向右數,你會發現 第偶數個對角線數組 在讀取時應該 逆序 讀取
  • 最終要的規律:在同一個對角線數組中的元素下標之后相等

LeetCode二維數組中如何實現對角線遍歷

算法步驟:

  1.  先按照矩陣遍歷的正常順序遍歷元素,過程中計算元素 下標和
  2. 將下標和一樣的元素存入對應的對角線數組中(設置一個 二維數組 存儲對角線數組)
    同時要注意: 二維數組中每一個一維數組的對應下標其實正好就等于之前計算的元素下標記和  
  3. 遍歷完成后,將對角線二維數組中的一維數組再添加到函數最后要返回的數組中。其中要進行判斷: 偶數個數組要逆序讀取

LeetCode二維數組中如何實現對角線遍歷

LeetCode二維數組中如何實現對角線遍歷


本文由“壹伴編輯器”提供技術支持

注意:

  • 一定要判斷輸入為 的情況
  • 輸入可沒說一定是方陣,所以在自己舉例推導時不要取特殊情況
  • 既然所有元素最終都要返回,那就先把每個都考慮進單個數組,最后再排序


本文由“壹伴編輯器”提供技術支持

 

二維數組的創建問題

創建二維數組的坑LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷

本文題目在之前的算法中一直這樣創建二維數組:

diagonal_list = [[]*(len(matrix)+len(matrix[0]-1)]

但是一直報錯

LeetCode二維數組中如何實現對角線遍歷

原來二維數組的創建有坑!!!!!!!!

a = [ []*3 ]a[0].append(1)
>>> a=[ [1], [1], [1] ]

都變成1了,可明明僅設置了第一個數組呀?????

原來:在創建一個如果利用乘法創建二維數組的話,或者不是二維數組,僅僅是一維數組乘以n,乘法代表的是引用,后面不論多少個數組都是引用第一個數組LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷LeetCode二維數組中如何實現對角線遍歷

正確的創建方法:利用for循環

a = [] for i in range(n)

以上是“LeetCode二維數組中如何實現對角線遍歷”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌平区| 靖远县| 施甸县| 阿荣旗| 乌鲁木齐县| 新丰县| 新蔡县| 沈阳市| 兴义市| 蓬莱市| 屯留县| 长顺县| 龙井市| 大姚县| 邯郸县| 奉化市| 中牟县| 华宁县| 盘锦市| 东光县| 富蕴县| 盱眙县| 涞源县| 木里| 惠来县| 翁源县| 大庆市| 辽宁省| 渭南市| 项城市| 山东省| 南木林县| 临邑县| 木兰县| 墨脱县| 鹿邑县| 巩留县| 新密市| 乌鲁木齐市| 凤翔县| 车致|