日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 程序員小灰
[導讀]生動有趣,一定要看!



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


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


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


經(jīng)過這樣的遍歷,返回的元素結(jié)果如下:


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


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







第1層

從左到右遍歷“上邊”:



從上到下遍歷“右邊”:



從右到左遍歷“下邊”:


從下到上遍歷“左邊”:



第2層

從左到右遍歷“上邊”:



從上到下遍歷“右邊”:



從右到左遍歷“下邊”:


從下到上遍歷“左”:


第3層

從左到右遍歷“上邊”:


從上到下遍歷“右邊”:



從右到左遍歷“下邊”:



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



public class SpiralOrder { public static ListspiralOrder(int[][]?matrix) {
????????Listlist?= new ArrayList(); //當二維數(shù)組是空或任何一個維度是0,直接返回 if (matrix?== null ||?matrix.length?== 0 ||?matrix[0].length?== 0)?{ return list;
????????} //m是矩陣的行數(shù) int m?=?matrix.length; //n是矩陣的列數(shù) int n?=?matrix[0].length; //大循環(huán),從外向內(nèi)逐層遍歷矩陣 for(int i=0;?i<(Math.min(m, n)+1)/2;?i++)?{ //從左到右遍歷“上邊” for (int j=i;?j//從上到下遍歷“右邊” for (int j=i+1;?j1)-i]);
????????????} //從右到左遍歷“下邊” for (int j=i+1;?j1)-i][(n-1)-j]);
????????????} //從下到上遍歷“左邊” for (int j=i+1;?j1-i;?j++)?{
????????????????list.add(matrix[(m-1)-j][i]);
????????????}
????????} return list;
????} public static void main(String[]?args) { int[][]?matrix?=?{
????????????????{ 1, 2, 3, 4, 5 },
????????????????{ 6, 7, 8, 9, 10 },
????????????????{ 11, 12, 13, 14, 15 },
????????????????{ 16, 17, 18, 19, 20 }
????????}; int[][]?matrix2?=?{
????????????????{ 1, 2, 3, 4, 5 },
????????????????{ 6, 7, 8, 9, 10 },
????????????????{ 11, 12, 13, 14, 15 },
????????????????{ 16, 17, 18, 19, 20 },
????????????????{ 21, 22, 23, 24, 25 }
????????};
????????ListresultList1?=?spiralOrder(matrix);
????????System.out.println(Arrays.toString(resultList1.toArray()));
????????ListresultList2?=?spiralOrder(matrix2);
????????System.out.println(Arrays.toString(resultList2.toArray()));
????}
}


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


當遍歷到最內(nèi)層時,4個小循環(huán)并不會全都執(zhí)行,比如測試代碼中matrix2的最內(nèi)層只有一個元素13,那么執(zhí)行完第1個小循環(huán),就不會再進入后面3個小循環(huán):




—————END—————

			


免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

深圳2026年3月19日 /美通社/ -- 2026年的招聘市場,正陷入一場奇特的"算法互博":求職者用AI美化簡歷以通過篩選,企業(yè)用AI深挖細節(jié)以識別真?zhèn)?。這場博弈的背后,是簡歷日益"豐滿...

關(guān)鍵字: AI 代碼 LAB 模型

當?shù)貢r間 2 月 23 日,美股市場上演 AI 技術(shù)顛覆傳統(tǒng)產(chǎn)業(yè)的劇烈一幕:人工智能公司 Anthropic 宣布旗下 Claude Code 產(chǎn)品新增 COBOL 編程語言現(xiàn)代化處理能力后,國際商業(yè)機器公司(IBM)股...

關(guān)鍵字: IBM Anthropic AI 編程

美國舊金山和中國蘇州2026年2月8日 /美通社/ -- 信達生物制藥集團(香港聯(lián)交所股票代碼:01801),一家致力于研發(fā)、生產(chǎn)和銷售腫瘤、自身免疫、代謝、眼科等重大疾病領(lǐng)域創(chuàng)新藥物的生物制藥公司,宣布與禮來制藥達成戰(zhàn)...

關(guān)鍵字: COM 代碼 創(chuàng)始人 控制

香港2026年2月4日 /美通社/ -- 華欽科技集團(納斯達克代碼:CLPS,以下簡稱"華欽科技"或"集團")今日宣布其董事會已通過一項集團股份回購計劃的決議。該決議聲明,當集團股價低于每股2美元時,集團可在公開市場上...

關(guān)鍵字: PS BSP 代碼 納斯達克

-Basecamp Research推出全球首個可編程基因插入AI模型 此突破可解決遺傳醫(yī)學長期存在的挑戰(zhàn),目標是開發(fā)新一代治愈性細胞和基因療法。 與NVIDIA合作開發(fā),依靠NVIDIA BioNeMo的加...

關(guān)鍵字: 編程 SE AI模型 RESEARCH

在C語言編程中,循環(huán)結(jié)構(gòu)是處理重復任務(wù)的核心工具,而break和continue則是控制循環(huán)流程的關(guān)鍵指令。雖然兩者都用于改變循環(huán)的正常執(zhí)行路徑,但它們的行為和適用場景存在本質(zhì)差異。

關(guān)鍵字: C語言 編程

香港2025年12月11日 /美通社/ -- 諾亞控股有限公司(Noah Holdings Limited,以下簡稱"諾亞"或"公司",紐交所代碼:NOAH,港交所代碼:6686)...

關(guān)鍵字: AI 代碼 AN 操作系統(tǒng)

弗吉尼亞州阿什本2025年12月10日 /美通社/ -- 企業(yè)技術(shù)與創(chuàng)新領(lǐng)域的領(lǐng)先合作伙伴DXC Technology(紐約證券交易所代碼:DXC)今日宣布推出AdvisoryX,這是一支旨在幫助企業(yè)應(yīng)對最復雜的戰(zhàn)略、運...

關(guān)鍵字: ADVISOR AI TECHNOLOGY 代碼

新加坡2025年12月8日 /美通社/ -- 近日,51Talk在線教育集團("51Talk"或"公司")(紐約證券交易所美國股票代碼:COE)公布了其截至2025年9月...

關(guān)鍵字: BSP 代碼 創(chuàng)始人 新加坡

濟南2025年12月2日 /美通社/ -- 2025年11月30日,第三屆山東省青少年無人機大賽泰安區(qū)域選拔賽在浪潮探索中心泰安科創(chuàng)教育基地舉行。泰安市科協(xié)、泰山區(qū)科協(xié)、山東省無人機技術(shù)與應(yīng)用協(xié)會、山東浪潮盛華智慧教育有...

關(guān)鍵字: 大賽 無人機 人工智能 編程
關(guān)閉