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

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

京東2024年年終獎大幅提升,采銷崗平均薪酬將達23薪。

0
分享至

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

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

隨著2025年春節的日益臨近,各大互聯網公司的春節假期安排和年終獎發放成為了廣大員工和網友們熱議的話題。

12月23日,京東發布了2024年年終獎發放計劃,這是京東要實現從16薪邁向20薪的第一年。實現17薪的部門內年度績效A+的員工將實現20薪,采銷崗平均23薪,差不多相當于干一年發兩年的工資,這年終獎確實挺誘人。





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

來看下今天的算法題,這題是LeetCode的第695題:島嶼的最大面積。

問題描述

來源:LeetCode第695題

難度:中等

給你一個大小為 m x n 的二進制矩陣 grid 。島嶼是由一些相鄰的 1 (代表土地) 構成的組合,這里的「相鄰」要求兩個 1 必須在水平或者豎直的四個方向上相鄰。你可以假設 grid 的四個邊緣都被 0(代表水)包圍著。

島嶼的面積是島上值為 1 的單元格的數目。計算并返回 grid 中最大的島嶼面積。如果沒有島嶼,則返回面積為 0 。

示例1:



輸入:grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]] 輸出:6 解釋:答案不應該是 11 ,因為島嶼只能包含水平或垂直這四個方向上的 1 。

  • m == grid.length

  • n == grid[i].length

  • 1 <= m, n <= 50

  • grid[i][j] 為 0 或 1

問題分析

這題讓計算島嶼的最大面積,島嶼的面積是通過上下左右相連接的 1 的個數。這題有多種解決方式,BFS,DFS和并查集都可以解決,之前我們講過這道題,當時使用的是 BFS- ,這里我們使用 DFS 再來解這道題。

關于DFS的知識我們在 中也講過,不過這里遍歷的不是圖,而是矩陣,實際上原理都是一樣的。

在矩陣中每個位置最多只有上下左右四個和它相連,我們 遍歷矩陣的每一個位置,如果當前位置是 1 ,表示它是島嶼,然后開始計算島嶼的面積。 就是以當前位置為起始點沿著它的上下左右四個方向查找,如果遇到 1 ,說明它們是同一個島嶼,累加面積,然后再把它變成 0 ,表示該位置已經計算過了,防止重復計算,最后只需要返回最大面積即可。

這里還要注意遍歷的時候不能越界,只能訪問矩陣內的位置。

JAVA:

public int maxAreaOfIsland(int[][] grid) {     int m = grid.length, n = grid[0].length;// 矩陣的寬和高     int ans = 0;// 記錄最大面積     for (int i = 0; i < m; i++)         for (int j = 0; j < n; j++)             if (grid[i][j] == 1) // 當前位置如果是 1 ,開始計算                 ans = Math.max(ans, dfs(grid, i, j, m, n));     return ans; } public int dfs(int[][] grid, int i, int j, int m, int n) {     // 邊界條件的判斷,不能越界     if (i >= 0 && i < m && j >= 0 && j < n && grid[i][j] == 1) {         // 當前位置如果是1,為了防止重復計算就把他置為0,然后再從他的上下左右四個方向開始查找         grid[i][j] = 0;         return 1 + dfs(grid, i + 1, j, m, n) + dfs(grid, i - 1, j, m, n)                 + dfs(grid, i, j - 1, m, n) + dfs(grid, i, j + 1, m, n);     }     return 0; }

C++:

public:     int maxAreaOfIsland(vector

 > &grid) {         int m = grid.size(), n = grid[0].size();// 矩陣的寬和高         int ans = 0;// 記錄最大面積         for (int i = 0; i < m; i++)             for (int j = 0; j < n; j++)                 if (grid[i][j] == 1) // 當前位置如果是 1 ,開始計算                     ans = max(ans, dfs(grid, i, j, m, n));         return ans;     }     int dfs(vector

 > &grid, int i, int j, int m, int n) {         // 邊界條件的判斷,不能越界         if (i >= 0 && i < m && j >= 0 && j < n && grid[i][j] == 1) {             // 當前位置如果是1,為了防止重復計算就把他置為0,然后再從他的上下左右四個方向開始查找             grid[i][j] = 0;             return 1 + dfs(grid, i + 1, j, m, n) + dfs(grid, i - 1, j, m, n)                    + dfs(grid, i, j - 1, m, n) + dfs(grid, i, j + 1, m, n);         }         return 0;     }


Python:

def maxAreaOfIsland(self, grid: List[List[int]]) -> int:     def dfs(i, j):         # 邊界條件的判斷,不能越界         if 0 <= i < m and 0 <= j < n and grid[i][j] == 1:             # 當前位置如果是1,為了防止重復計算就把他置為0,然后再從他的上下左右四個方向開始查找             grid[i][j] = 0             return 1 + dfs(i + 1, j) + dfs(i - 1, j) + dfs(i, j - 1) + dfs(i, j + 1)         return 0     m, n = len(grid), len(grid[0])  # 矩陣的寬和高     ans = 0  # 記錄最大面積     for i in range(m):         for j in range(n):             if grid[i][j] == 1:  # 當前位置如果是 1 ,開始計算                 ans = max(ans, dfs(i, j))     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.

相關推薦
熱點推薦
重慶男子將一箱茅臺埋地下15年,兒子婚宴那天挖出,眾人都呆住了

重慶男子將一箱茅臺埋地下15年,兒子婚宴那天挖出,眾人都呆住了

白云故事
2025-04-08 09:35:03
美國貿易攻勢“首次休戰”,提出10%關稅“新底線”

美國貿易攻勢“首次休戰”,提出10%關稅“新底線”

參考消息
2025-05-10 15:52:05
被忽視的價格屠夫!續航1200km,中大型7座合資SUV一口價16萬多

被忽視的價格屠夫!續航1200km,中大型7座合資SUV一口價16萬多

隔壁說車老王
2025-05-11 09:21:48
時尚芭莎落魄成這樣?請了一堆過氣明星,全部淋雨吃飯好狼狽

時尚芭莎落魄成這樣?請了一堆過氣明星,全部淋雨吃飯好狼狽

春序娛樂
2025-05-10 08:43:10
美論壇:如果美國立馬停止與中國合作,中國經濟會不會因此崩潰?

美論壇:如果美國立馬停止與中國合作,中國經濟會不會因此崩潰?

夢史
2025-05-10 14:37:26
最新回應!被除名后“辱華”女星首現身,表情囂張,評論區已淪陷

最新回應!被除名后“辱華”女星首現身,表情囂張,評論區已淪陷

楊哥歷史
2025-05-10 16:49:43
同濟大學原常務副校長、著名隧道及地下工程專家李永盛逝世

同濟大學原常務副校長、著名隧道及地下工程專家李永盛逝世

澎湃新聞
2025-05-11 08:32:26
第一個即將面臨消失的行業,不是幼師,更不是醫生,而是失業三寶

第一個即將面臨消失的行業,不是幼師,更不是醫生,而是失業三寶

界史
2025-04-22 11:13:08
新研究:達格列凈聯合飲食控制,近半數的糖尿病可“逆轉”

新研究:達格列凈聯合飲食控制,近半數的糖尿病可“逆轉”

藥師方健
2025-05-10 22:37:33
中國最怕印度的是什么?有兩件事,做成一件都害怕!

中國最怕印度的是什么?有兩件事,做成一件都害怕!

凱撒談兵
2025-02-20 06:37:31
為了證明吸煙無害,科學家讓48只狗每天抽100支煙,持續了3年

為了證明吸煙無害,科學家讓48只狗每天抽100支煙,持續了3年

瑤卿文史
2025-05-05 18:03:01
古羅馬人是如何處理女奴隸的?你根本無法想象她們命運有多悲慘

古羅馬人是如何處理女奴隸的?你根本無法想象她們命運有多悲慘

大千世界觀
2025-05-10 08:46:37
美國再工業化進程需要中國的產業支持

美國再工業化進程需要中國的產業支持

澎湃新聞
2025-05-11 09:42:06
安徽最美婆婆火了,體態優雅氣質出眾,親友:嫁得好,老公很寵她

安徽最美婆婆火了,體態優雅氣質出眾,親友:嫁得好,老公很寵她

梅子的小情緒
2025-05-07 19:40:51
烏克蘭網球名將與原俄羅斯選手賽場握手,發文稱贊其更改國籍

烏克蘭網球名將與原俄羅斯選手賽場握手,發文稱贊其更改國籍

臻體育
2025-05-10 16:20:03
梵蒂岡公布良十四世教宗的牧徽及格言

梵蒂岡公布良十四世教宗的牧徽及格言

意訊
2025-05-11 01:36:31
英媒:在南美,中國被視為更公平的朋友

英媒:在南美,中國被視為更公平的朋友

環球網資訊
2025-05-10 06:49:36
中東“第二個巴鐵”出現!拒絕與美國合作,豪贈中國800億油田

中東“第二個巴鐵”出現!拒絕與美國合作,豪贈中國800億油田

聽風者說
2025-02-10 10:27:53
真炸裂!李晨和baby的瓜爆了,大家都等著看戲

真炸裂!李晨和baby的瓜爆了,大家都等著看戲

豬小果的泡泡糖
2025-03-20 13:22:34
從5登春晚到創業破產,曾是“央視寵兒”的平安,如今怎樣了?

從5登春晚到創業破產,曾是“央視寵兒”的平安,如今怎樣了?

東方不敗然多多
2025-05-06 01:44:26
2025-05-11 10:12:49
數據結構和算法
數據結構和算法
專門介紹和寫算法題解的號
227文章數 2關注度
往期回顧 全部

科技要聞

首款折疊屏iPhone,有新消息!

頭條要聞

牛彈琴:印巴戲劇性地突然宣布停火 背后有五大原因

頭條要聞

牛彈琴:印巴戲劇性地突然宣布停火 背后有五大原因

體育要聞

這個老頭兒,仍然是你們的頭兒

娛樂要聞

李凱馨為錄音風波道歉,網友不接受

財經要聞

重慶一家人把755億巨債留給了股民

汽車要聞

空間表現是優勢 極狐T1將于5月底正式亮相發布

態度原創

教育
時尚
旅游
游戲
數碼

教育要聞

教師進教室的第一件事情是做什么

什么?這年頭藝術家的顏值居然卷成這樣了

旅游要聞

熱聞|清明假期將至,熱門目的地有哪些?

玩家回顧《GTA6》90段泄露視頻:細節真的不少!

數碼要聞

小米萬兆路由器獲 1.1.53 穩定版更新:新增專屬網絡功能等

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 米林县| 靖安县| 崇仁县| 汝城县| 巫溪县| 碌曲县| 喜德县| 巴青县| 游戏| 固原市| 洪洞县| 辉南县| 舞阳县| 宝丰县| 东阿县| 荣成市| 高唐县| 南昌市| 朝阳市| 喀喇沁旗| 淮滨县| 黄山市| 江阴市| 武邑县| 台中市| 米脂县| 保山市| 商水县| 鄂尔多斯市| 彩票| 安多县| 上栗县| 沙雅县| 钦州市| 平湖市| 嘉黎县| 于都县| 新河县| 来宾市| 尼玛县| 二连浩特市|