99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

我國程序員數量突破 940 萬。

0
分享至

專欄:50多種數據結構徹底征服

專欄:50多種經典圖論算法全部掌握

2024開放原子開發者大會于20日至21日在武漢圓滿舉行,工業和信息化部負責人宣布了一項重要數據:我國軟件開發者群體規模已歷史性突破940萬大關,其中武漢地區有40萬。

我國已經成為全球開源參與者數量排名第二,增長速度最快的國家,開源鴻蒙生態設備超過了10億臺,引發大量關注。據了解,目前已有超過70家單位加入開源鴻蒙生態,超過8100人參與代碼貢獻,貢獻代碼超過1.2億行。



--------------下面是今天的算法題--------------

來看下今天的算法題,這題是LeetCode的第54題:螺旋矩陣。

問題描述

來源:LeetCode第54題

難度:中等

給你一個 m 行 n 列的矩陣 matrix ,請按照 順時針螺旋順序 ,返回矩陣中的所有元素。

示例1:



輸入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 輸出:[1,2,3,6,9,8,7,4,5]

示例2:



輸入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 輸出:[1,2,3,4,8,12,11,10,9,5,6,7]

  • m == matrix.length

  • n == matrix[i].length

  • 1 <= m, n <= 10

  • -100 <= matrix[i][j] <= 100

問題分析

這題是讓順時針螺旋順序返回矩陣中的所有元素,我們可以直接模擬, 從外到內一圈一圈的打印矩陣中的元素 ,需要使用4個變量來記錄訪問的位置,直到全部元素都訪問完為止,如下圖所示。


這里還要注意上下左右四個方向訪問的邊界,哪些是開區間哪些是閉區間,代碼如下。

JAVA:

public List   spiralOrder (int[][] matrix)  {     List
         
  ans =  new ArrayList<>();      int n = matrix.length, m = matrix[ 0].length;      int up =  0, down = n -  1, left =  0, right = m -  1;      int total = m * n; // 總的元素個數      while (ans.size() < total) {          // 上面,從左往右打印,左閉右閉區間[left,right]          for ( int i = left; i <= right && ans.size() < total; i++)             ans.add(matrix[up][i]);          // 右邊,從上往下打印,上開下開區間(up,down)          for ( int i = up +  1; i <= down -  1 && ans.size() < total; i++)             ans.add(matrix[i][right]);          // 下邊,從右往左打印,右閉左閉區間[right,left]          for ( int i = right; i >= left && ans.size() < total; i--)             ans.add(matrix[down][i]);          // 左邊,從下往上打印,下開上開區間(down,up)          for ( int i = down -  1; i >= up +  1 && ans.size() < total; i--)             ans.add(matrix[i][left]);         left++;         right--;         up++;         down--;     }      return ans; }

C++:

public:     vector

  spiralOrder(vector

 > &matrix) {         vector

  ans;         int n = matrix.size(), m = matrix[0].size();         int up = 0, down = n - 1, left = 0, right = m - 1;         int total = m * n;// 總的元素個數         while (ans.size() < total) {             // 上面,從左往右打印,左閉右閉區間[left,right]             for (int i = left; i <= right && ans.size() < total; i++)                 ans.push_back(matrix[up][i]);             // 右邊,從上往下打印,上開下開區間(up,down)             for (int i = up + 1; i <= down - 1 && ans.size() < total; i++)                 ans.push_back(matrix[i][right]);             // 下邊,從右往左打印,右閉左閉區間[right,left]             for (int i = right; i >= left && ans.size() < total; i--)                 ans.push_back(matrix[down][i]);             // 左邊,從下往上打印,下開上開區間(down,up)             for (int i = down - 1; i >= up + 1 && ans.size() < total; i--)                 ans.push_back(matrix[i][left]);             left++;             right--;             up++;             down--;         }         return ans;     }



Python:

def spiralOrder(self, matrix: List[List[int]]) -> List[int]:     ans = []     n, m = len(matrix), len(matrix[0])     up, down, left, right = 0, n - 1, 0, m - 1     total = m * n  # 總的元素個數     while len(ans) < total:         # 上面,從左往右打印,左閉右閉區間[left,right]         for i in range(left, right + 1):             ans.append(matrix[up][i])         # 右邊,從上往下打印,上開下閉區間(up,down]         for i in range(up + 1, down + 1):             ans.append(matrix[i][right])         # 上下重疊就終止         if up == down or left == right: break         # 下邊,從右往左打印,右開左閉區間(right,left]         for i in range(right - 1, left - 1, -1):             ans.append(matrix[down][i])         # 左邊,從下往上打印,下開上開區間(down,up)         for i in range(down - 1, up, -1):             ans.append(matrix[i][left])         left += 1         right -= 1         up += 1         down -= 1     return ans

筆者簡介

博哥,真名:王一博,畢業十多年, 作者,專注于 數據結構和算法 的講解,在全球30多個算法網站中累計做題2000多道,在公眾號中寫算法題解800多題,對算法題有自己獨特的解題思路和解題技巧,喜歡的可以給個關注,也可以 下載我整理的1000多頁的PDF算法文檔 。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
柬埔寨為何這么亂?來看看不為人知的一面

柬埔寨為何這么亂?來看看不為人知的一面

諾言卿史錄
2025-07-16 15:15:36
佛山一區將“防蚊令”列入村規民約,情節嚴重將停發分紅

佛山一區將“防蚊令”列入村規民約,情節嚴重將停發分紅

南方都市報
2025-07-25 20:49:15
吃相難看!張碧晨獨占《年輪》,汪蘇瀧攤牌收唱權,騰訊做法亮了

吃相難看!張碧晨獨占《年輪》,汪蘇瀧攤牌收唱權,騰訊做法亮了

銀河史記
2025-07-25 18:19:00
中國首位博物院女院長,一生未婚,跳塔身亡,死前給司機留下紙條

中國首位博物院女院長,一生未婚,跳塔身亡,死前給司機留下紙條

鬼谷子思維
2025-07-24 20:15:03
孫儷兒子“特殊愛好”曝光,網友炸了:你怎么養的娃?

孫儷兒子“特殊愛好”曝光,網友炸了:你怎么養的娃?

聽哲學
2025-07-25 21:58:05
Slater:勇士對庫明加要價1個年輕潛力球員+1首輪 太陽沒有首輪

Slater:勇士對庫明加要價1個年輕潛力球員+1首輪 太陽沒有首輪

直播吧
2025-07-25 08:58:09
《掃毒風暴》33集大結局:王輝醒了吳燕萍被抓,沒有第二個內鬼

《掃毒風暴》33集大結局:王輝醒了吳燕萍被抓,沒有第二個內鬼

跳跳歷史
2025-07-25 10:37:11
資深球迷張雪峰:沒看過蘇超,我也搶不到蘇超球票!支付寶淘寶紛紛拋出橄欖枝:歡迎張老師來常州隊比賽

資深球迷張雪峰:沒看過蘇超,我也搶不到蘇超球票!支付寶淘寶紛紛拋出橄欖枝:歡迎張老師來常州隊比賽

和訊網
2025-07-25 15:41:28
雨中老人送葬隊現身香港,老戲骨集體淋雨,港劇黃金年代徹底落幕

雨中老人送葬隊現身香港,老戲骨集體淋雨,港劇黃金年代徹底落幕

喜歡歷史的阿繁
2025-07-25 05:38:39
這次49歲的舒淇再次讓世界刮目相看,已是黎明“高攀不起”的存在

這次49歲的舒淇再次讓世界刮目相看,已是黎明“高攀不起”的存在

趣文說娛
2025-07-25 14:36:42
兩局苦戰失利!陳雨菲再負世界第一安洗瑩,無緣中國公開賽四強

兩局苦戰失利!陳雨菲再負世界第一安洗瑩,無緣中國公開賽四強

全景體育V
2025-07-25 19:47:12
女子沒叫公婆爸媽被逼道歉后續!女子已回娘家,丈夫和婆婆大吵架

女子沒叫公婆爸媽被逼道歉后續!女子已回娘家,丈夫和婆婆大吵架

清游說娛
2025-05-11 09:44:07
隨著中國籃協同意楊瀚森不參加本屆亞洲杯,無非就這兩點原因!

隨著中國籃協同意楊瀚森不參加本屆亞洲杯,無非就這兩點原因!

田先生籃球
2025-07-24 21:57:03
ESPN:新賽季弗拉格在數據端未必是最亮眼的新秀,但他所在球隊的戰績會更好

ESPN:新賽季弗拉格在數據端未必是最亮眼的新秀,但他所在球隊的戰績會更好

雷速體育
2025-07-25 17:12:40
醍醐灌頂——中國最著名的四篇演講

醍醐灌頂——中國最著名的四篇演講

尚曦讀史
2025-07-17 21:28:51
女籃打的是權力籃球,輸得不冤

女籃打的是權力籃球,輸得不冤

綠野萍蹤
2025-07-24 09:37:44
廣東宏遠已經敲定兩名外援!全部是后衛,朱芳雨又要重蹈覆轍?

廣東宏遠已經敲定兩名外援!全部是后衛,朱芳雨又要重蹈覆轍?

籃球大陸
2025-07-25 15:55:15
53歲汪峰再次喜當爹!5個孩子4個媽,前妻葛薈婕:又在繁殖了

53歲汪峰再次喜當爹!5個孩子4個媽,前妻葛薈婕:又在繁殖了

趙釔是個熱血青年
2025-06-01 05:12:17
貝索斯享約會夜,55歲新妻穿薄紗裙內搭空氣,標志大嘴似有新填充

貝索斯享約會夜,55歲新妻穿薄紗裙內搭空氣,標志大嘴似有新填充

譯言
2025-07-24 15:33:43
德國和江蘇同為8000多萬人,德國創造4.66萬億GDP,江蘇令人意外

德國和江蘇同為8000多萬人,德國創造4.66萬億GDP,江蘇令人意外

安珈使者啊
2025-07-25 16:21:28
2025-07-26 00:36:50
數據結構和算法
數據結構和算法
專門介紹和寫算法題解的號
238文章數 3關注度
往期回顧 全部

科技要聞

36款熱門車高危智駕場景測試,“團滅”!

頭條要聞

8旬翁下葬前墓地被人埋死狗沿路埋鐵釘暗器 官方介入

頭條要聞

8旬翁下葬前墓地被人埋死狗沿路埋鐵釘暗器 官方介入

體育要聞

3年過去了,她還是歐洲杯上最酷的姐

娛樂要聞

汪蘇瀧不忍了 !張碧晨痛失《年輪》演唱權

財經要聞

劉煜輝:當下重要不是找確定性而是轉折點

汽車要聞

李斌一口氣講了近3個小時樂道L90 原因是為啥?

態度原創

數碼
教育
時尚
本地
健康

數碼要聞

谷歌Pixel Watch 4智能手表曝光:充電口更改,配色更多

教育要聞

389分撿漏鄭大,367分讀華水,河南考生咋沒這個命

仙女裙封神榜!這5條裙子美到犯規,誰穿誰是迪士尼在逃公主!

本地新聞

換個城市過夏天|風拂鹽湖,躲進格爾木的盛夏清涼

呼吸科專家破解呼吸道九大謠言!

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 盐亭县| 郧西县| 若尔盖县| 英吉沙县| 江川县| 都昌县| 宁河县| 株洲市| 什邡市| 武山县| 江阴市| 凤城市| 平利县| 邵阳县| 海阳市| 太谷县| 凯里市| 罗源县| 柳河县| 黄陵县| 怀集县| 嵩明县| 孟村| 彰武县| 南漳县| 哈巴河县| 内乡县| 玛多县| 东海县| 铜鼓县| 克什克腾旗| 百色市| 会东县| 海南省| 蒲江县| 云浮市| 涡阳县| 虹口区| 德安县| 梨树县| 乡宁县|