色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

螺旋遍歷二維數組漫畫講解

算法與數據結構 ? 來源:程序員小灰 ? 作者:程序員小灰 ? 2020-11-26 14:01 ? 次閱讀

來自公眾號:程序員小灰

————— 第二天 —————

什么意思呢?我們來舉個例子,給定下面這樣一個二維數組:

我們需要從左上角的元素1開始,按照順時針進行螺旋遍歷,一直遍歷完所有的元素,遍歷的路徑就像下圖一樣:

經過這樣的遍歷,返回的元素結果如下:

1,2,3,4,5,10,15,20,19,18,17,16,11,6,7,8,9,14,13,12

————————————

第1層

從左到右遍歷“上邊”:

從上到下遍歷“右邊”:

從右到左遍歷“下邊”:

從下到上遍歷“左邊”:

第2層

從左到右遍歷“上邊”:

從上到下遍歷“右邊”:

從右到左遍歷“下邊”:

從下到上遍歷“左邊”:

第3層

從左到右遍歷“上邊”:

從上到下遍歷“右邊”:

從右到左遍歷“下邊”:

第三層的“左邊”已無需遍歷,二維數組到此遍歷完畢。

publicclassSpiralOrder{ publicstaticListspiralOrder(int[][]matrix){ Listlist=newArrayList(); //當二維數組是空或任何一個維度是0,直接返回 if(matrix==null||matrix.length==0||matrix[0].length==0){ returnlist; } //m是矩陣的行數 intm=matrix.length; //n是矩陣的列數 intn=matrix[0].length; //二維數組的層數,取決于行和列的較小值 intsize=(Math.min(m,n)+1)/2; //大循環,從外向內逐層遍歷矩陣 for(inti=0;ii;j++){ list.add(matrix[(m-1)-i][(n-1)-j]); } //從下到上遍歷“左邊” for(intj=i+1;jresultList1=spiralOrder(matrix); System.out.println(Arrays.toString(resultList1.toArray())); ListresultList2=spiralOrder(matrix2); System.out.println(Arrays.toString(resultList2.toArray())); } }

在上面的代碼中,一個大循環當中包含了4個小循環。大循環控制了每一層的遍歷,4個小循環分別實現了同一層上邊、右邊、下邊,左邊的遍歷。

當遍歷到最內層時,4個小循環并不會全都執行,比如測試代碼中matrix2的最內層就只有一列,此時只需要遍歷“上邊”和“右邊”。

這種情況下,遍歷“下邊”和“左邊”的小循環必須加上了額外的條件限制:

(m-1)-i>i

i<(n-1)-i

使得同一條邊不會被重復遍歷到。

責任編輯:PSY

原文標題:漫畫:如何螺旋遍歷二維數組?

文章出處:【微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 螺旋
    +關注

    關注

    0

    文章

    32

    瀏覽量

    17403
  • 二維
    +關注

    關注

    0

    文章

    40

    瀏覽量

    11983
  • 遍歷技
    +關注

    關注

    0

    文章

    2

    瀏覽量

    6567

原文標題:漫畫:如何螺旋遍歷二維數組?

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RS232接口的二維影像掃描引擎,廣泛用在醫療設備上掃一二維

    在醫療設備領域,二維碼的應用日益廣泛,它作為信息的快速傳遞和識別手段,為醫療管理、患者追蹤、設備維護等環節帶來了極大的便利。而在這背后,RS232接口的二維影像掃描引擎扮演著至關重要的角色,它以
    的頭像 發表于 12-23 16:02 ?46次閱讀
    RS232接口的<b class='flag-5'>二維</b>影像掃描引擎,廣泛用在醫療設備上掃一<b class='flag-5'>維</b><b class='flag-5'>二維</b>碼

    二維內嵌掃碼模組用于自助儲物柜,快速掃描各種一二維條碼

    隨著科技的飛速發展,自助儲物柜已成為我們日常生活中不可或缺的一部分,為公眾提供了極大的便利。而這一切的背后,離不開二維內嵌掃碼模組的強大支持。本文將深入探討二維內嵌掃碼模組在自助儲物柜中的應用,以及
    的頭像 發表于 12-04 15:56 ?95次閱讀
    <b class='flag-5'>二維</b>內嵌掃碼模組用于自助儲物柜,快速掃描各種一<b class='flag-5'>維</b><b class='flag-5'>二維</b>條碼

    指針數組二維數組有沒有區別

    指針數組二維數組有沒有區別?比如這樣的兩個代碼。 int main(){ char *s1[] = { "hello", "world", "total" }; char s2[][6
    的頭像 發表于 11-24 11:12 ?143次閱讀

    二維碼識讀設備有哪些類型

    隨著二維碼應用的日益普及,各類二維碼識讀設備也應運而生。這些設備不僅極大地方便了我們的日常生活,也為企業提供了更加高效便捷的服務。那么,你知道二維碼識讀設備都有哪些類型嗎?讓我們一起來了解一下。據
    的頭像 發表于 11-05 16:10 ?172次閱讀
    <b class='flag-5'>二維</b>碼識讀設備有哪些類型

    labview按行讀取二維數組之后再按讀取順序重新組成二維數組如何實現?

    labview用了index Array按索引一行行讀取二維數組之后想再按讀取順序重新組成一個二維數組如何實現,即第一次讀取的作為第一行,第
    發表于 10-25 21:06

    請問labview是否無法向matlab傳遞3數組

    經過一些測試,發現在matlab script中只能傳二維數組,利用打包.net庫,好像還是只能傳遞二維數組。 是不是從底層就不支持,這兩種語言的三
    發表于 10-22 20:14

    二維力傳感器怎么安裝,在安裝二維力傳感器的安裝步驟

    二維力傳感器是一種精密的測量設備,用于檢測物體在平面內的力和力矩。為了確保其測量結果的準確性和穩定性,正確的安裝步驟至關重要。本文將詳細介紹二維力傳感器的安裝方法。
    的頭像 發表于 09-27 17:14 ?316次閱讀
    <b class='flag-5'>二維</b>力傳感器怎么安裝,在安裝<b class='flag-5'>二維</b>力傳感器的安裝步驟

    Labview生成二維

    ?Labview 的一個Demo,生成二維碼。
    發表于 08-01 17:12 ?7次下載

    技術|二維PDOA平面定位方案

    一、方案概述二維平面定位系統,采用UWB定位技術,精度可到30cm。通過PDOA算法,可實現單基站二維平面的實時人員定位,增強對危險區域的管控,有效預防安全事故發生。面對突發情況,能做到及時報警響應
    的頭像 發表于 06-04 14:53 ?924次閱讀
    技術|<b class='flag-5'>二維</b>PDOA平面定位方案

    二維PDMA可以使用描述符鏈嗎?

    我正在嘗試使用二維描述符連鎖。 編寫了一些二維描述符鏈的代碼。 但我有一些疑問,比如 1.二維 PDMA 可以使用描述符鏈嗎? 2.如果 1 是,請附上一些代碼 我們是否可以使用 2 個結構或只使用 1 個結構即可。
    發表于 05-31 08:16

    數組的轉換到二維數組后的行列增減問題

    請大佬指點,如VI,兩個求助點: 1、一數組大小,在停止Vi前把數組大小增加到4,在循環外設置了一數組的行數為0了,為啥再次運行VI后,
    發表于 05-11 00:25

    怎么在Framewin里顯示二維碼?

    各位前輩好,剛剛開始使用STemWin。現在一個Framewin里顯示二維碼,在Framewin初始化里調用二維碼函數沒有反應。請問需要怎么調用?
    發表于 04-16 08:27

    手持機二維掃描模組,輕松讀取各類條碼、二維碼,長距離掃描

    手持機作為零售、物流、倉儲等行業的主要信息采集設備,廣泛應用于物資儲存、倉儲管理、配送運輸等多個環節,而這些環節都離不開手持機二維掃描模組,即必須配置有專業的條碼掃描頭來完成條碼高效快速識別與采集
    的頭像 發表于 04-03 14:14 ?416次閱讀
    手持機<b class='flag-5'>二維</b>掃描模組,輕松讀取各類條碼、<b class='flag-5'>二維</b>碼,長距離掃描

    Labview調用Halcon識別二維

    Labview調用Halcon識別二維碼 可一次識別多個二維碼 使用Labview 2020編輯,halcon的版本是 19.11,32位
    發表于 02-21 16:31

    二維/三的多軸PSO視覺飛拍與精準輸出:EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(八)

    本文主要講解多軸PSO二維、三比較輸出兩種模式。
    的頭像 發表于 01-08 09:34 ?488次閱讀
    <b class='flag-5'>二維</b>/三<b class='flag-5'>維</b>的多軸PSO視覺飛拍與精準輸出:EtherCAT超高速實時運動控制卡XPCIE1032H上位機C#開發(八)
    主站蜘蛛池模板: 2020最新无码国产在线视频| 国产精品久久久久久久AV下载| 国产亚洲精品久久久久久无码网站| 久久精品视频91| 亚洲电影不卡| 国产精品单位女同事在线| 日本夜夜夜| AV午夜午夜快憣免费观看| 久久视热频这里只精品| 亚洲色图19p| 黄色一级毛片免费| 小寡妇好紧进去了好大看视频| 成人性生交大片免费看中文| 免费看毛片网| couo福利姬图库| 欧美高清vivoesosexo10| 99久久久无码国产精品免费人妻| 久久无码AV亚洲精品色午夜麻豆| 亚洲色欲色欲WWW在线成人网| 后入式狂顶免费视频| 亚洲国产成人久久精品影视| 国产午夜人做人免费视频中文| 无码专区久久综合久综合字幕| 国产精品无码无卡毛片不卡视| 无码乱人伦一区二区亚洲一| 国产麻豆91网在线看| 亚洲国产在线99视频| 久久国产香蕉| 69日本人XXXX护士HD| 欧美日韩精品不卡在线观看| 99久久中文字幕伊人情人| 欧美性猛交AAA片免费观看| TUBE19UP老师学生| 天天躁日日躁狠狠躁AV麻豆| 国产日韩精品SUV| 又硬又粗又大一区二区三区视频| 美国大臿蕉香蕉大视频| 成人免费公开视频| 午夜剧场1000| 鲁一鲁亚洲无线码| 大桥未久电影在线观看|