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

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

最近王者榮耀崩了,騰訊給每個賬號都補償了啥?

0
分享至

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

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

3月28日王者榮耀官方賬號發文稱:由于服務器異常,部分玩家出現登錄異常、對局無法進入的問題,正在緊急處理中。經近3個小時的搶修,官方于29日凌晨宣布修復完成,并補償玩家10張積分奪寶券及2張排位保護卡,有不少網友表示對這次的賠償比較滿意。

雖然這款游戲很火,也出來很多年了,但我從來都沒玩過,主要是不喜歡玩游戲,但我身邊也確實有不少人玩。王者榮耀總的用戶數量官方并沒有透露,但在2025年春節期間,受福利活動推動,日活躍用戶數攀升至1.5億,達到《英雄聯盟》巔峰日活的15倍,王者榮耀上線 9 年多至少為騰訊帶來101.1億美元(約為720.8億元)收入。




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

來看下今天的算法題,這題是LeetCode的第1293題:網格中的最短路徑,難度是困難。

給你一個 m * n 的網格,其中每個單元格不是 0(空)就是 1(障礙物)。每一步,您都可以在空白單元格中上、下、左、右移動。

如果您 最多 可以消除 k 個障礙物,請找出從左上角 (0, 0) 到右下角 (m-1, n-1) 的最短路徑,并返回通過該路徑所需的步數。如果找不到這樣的路徑,則返回 -1 。

示例1:



輸入: grid = [[0,0,0],[1,1,0],[0,0,0],[0,1,1],[0,0,0]], k = 1 輸出:6 解釋: 不消除任何障礙的最短路徑是 10。 消除位置 (3,2) 處的障礙后,最短路徑是 6 。該路徑是 (0,0) -> (0,1) -> (0,2) -> (1,2) -> (2,2) -> (3,2) -> (4,2).

示例2:



輸入:grid = [[0,1,1],[1,1,1],[1,0,0]], k = 1 輸出:-1 解釋:我們至少需要消除兩個障礙才能找到這樣的路徑。

  • grid.length == m

  • grid[0].length == n

  • 1 <= m, n <= 40

  • 1 <= k <= m*n

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

  • grid[0][0] == grid[m-1][n-1] == 0

問題分析

這題說的是找到一條從左上角到右下角的路徑,這條路徑所需要的步數最少,路徑中可能會有障礙物,但我們有 k 次機會消除障礙物。

如果只有障礙物而不能消除,這就是一道典型的BFS問題,我們只需要從起始點開始搜索,計算到終止點所需要的步數即可,但這里有消除障礙物的功能,所以還需要加個條件判斷。

假如沒有障礙物,從左上角到右下角只需要走 m+n-2 步即可,所以如果可消除的機會 k 大于等于 m+n-3(起始點和終止點沒有障礙物),我們一定可以把最短路徑上的所有障礙物全部消除。

當 k 不大于 m+n-3 的時候,我們可以通過BFS搜索來計算。因為這里是矩陣搜索,我們需要使用一個變量visited來記錄每個位置是否訪問過,以及到當前位置剩余可消除的數量。

如果當前位置沒有訪問過,或者剩余可消除的數量更大,我們就更新當前位置,然后把它添加到隊列中。剛開始的時候我們把每一個位置的值初始化為 -1 ,表示還沒有被訪問過。

關于矩陣的BFS訪問有一個模板,具體內容大家可以看下中的第 9 章,掌握矩陣的BFS遍歷之后,我們只需要對模板稍微修改下即可。

JAVA:

public int shortestPath(int[][] grid, int k) { int m = grid.length; int n = grid[0].length; if (k >= m + n - 3)// 消除障礙物的數量比較大,可以找到一條最短路徑。       return m + n - 2;   k = Math.min(k, m + n - 3);   Queue

 q = new LinkedList<>();// 創建隊列   q.offer(newint[]{0, 0, k});// 添加起始位置 int ans = 0; // visited表示當前位置[i,j]是否訪問過,以及當前位置剩余可以消除的數量。 int[][] visited = newint[m][n]; for (int[] row : visited)       Arrays.fill(row, -1);// 初始化全部為 -1 ,表示所有位置都還沒有訪問過。 int[][] dirs = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};// 方向數組   visited[0][0] = k;// 起始位置,剩余可消除的數量。 while (!q.isEmpty()) {       ans++;// 行走的步數       int size = q.size();       for (int i = 0; i < size; i++) {           int[] cur = q.poll();// 出隊           int x = cur[0], y = cur[1];           int rest = cur[2];// 剩余可消除的數量。           if (grid[x][y] == 1)// 當前位置是 1 ,消除一個。               rest--;           // 遍歷當前位置[x,y]的上下左右四個方向。           for (int[] dir : dirs) {               int newX = x + dir[0];               int newY = y + dir[1];               // 不能越界,或者當前位置[newX,newY]是個障礙物,但沒有可消               // 除的數量了,所以要跳過。               if (newX < 0 || newX >= m || newY < 0 || newY >= n                       || (grid[newX][newY] == 1 && rest == 0))                   continue;               if (newX == m - 1 && newY == n - 1)                   return ans;// 到達目的地               // 當前位置[newX,newY]沒有被訪問過,或者被訪問過,但剩余訪問的次數更多。               if (rest > visited[newX][newY]) {                   q.offer(newint[]{newX, newY, rest});                   visited[newX][newY] = rest;               }           }       }   } return -1; }

C++:

public:     int shortestPath(vector

 > &grid, int k) {         int m = grid.size();         int n = grid[0].size();         if (k >= m + n - 3)// 消除障礙物的數量比較大,可以找到一條最短路徑。             return m + n - 2;         k = min(k, m + n - 3);         queue

 > q;// 創建隊列         q.push({0, 0, k});// 添加起始位置         int ans = 0;         // visited表示當前位置[i,j]是否訪問過,以及當前位置剩余可以消除的數量。         vector

 > visited(m, vector

 (n, -1));         vector

 > dirs = {{-1, 0},                                     {1,  0},                                     {0,  -1},                                     {0,  1}};// 方向數組         visited[0][0] = k;// 起始位置,剩余可消除的數量。         while (!q.empty()) {             ans++;// 行走的步數             int size = q.size();             for (int i = 0; i < size; i++) {                 vector

 cur = q.front();                 q.pop();// 出隊                 int x = cur[0], y = cur[1];                 int rest = cur[2];// 剩余可消除的數量。                 if (grid[x][y] == 1)// 當前位置是 1 ,消除一個。                     rest--;                 // 遍歷當前位置[x,y]的上下左右四個方向。                 for (auto &dir: dirs) {                     int newX = x + dir[0];                     int newY = y + dir[1];                     // 不能越界,或者當前位置[newX,newY]是個障礙物,但沒有可消                     // 除的數量了,所以要跳過。                     if (newX < 0 || newX >= m || newY < 0 || newY >= n                         || (grid[newX][newY] == 1 && rest == 0))                         continue;                     if (newX == m - 1 && newY == n - 1)                         return ans;// 到達目的地                     // 當前位置[newX,newY]沒有被訪問過,或者被訪問過,但剩余訪問的次數更多。                     if (rest > visited[newX][newY]) {                         q.push({newX, newY, rest});                         visited[newX][newY] = rest;                     }                 }             }         }         return-1;     }






筆者簡介

博哥,真名:王一博,畢業十多年, 作者,專注于 數據結構和算法 的講解,在全球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-19 23:36:59
0-2!王欣瑜無緣決賽,輸球原因曝光,主辦方做法遭質疑,不公平

0-2!王欣瑜無緣決賽,輸球原因曝光,主辦方做法遭質疑,不公平

侃球熊弟
2025-07-25 23:44:26
3天拿下柬埔寨,洪森乘機潛逃中國?泰軍節節敗退,戰局或大反轉

3天拿下柬埔寨,洪森乘機潛逃中國?泰軍節節敗退,戰局或大反轉

小魚愛魚樂
2025-07-26 09:46:08
《掃毒風暴》演員表現排名公布,段奕宏最低,毫無懸念第一名

《掃毒風暴》演員表現排名公布,段奕宏最低,毫無懸念第一名

陳意小可愛
2025-07-26 15:51:44
天塌了!比亞迪終止對國足的贊助,網友:以后怕是吃不起海參了!

天塌了!比亞迪終止對國足的贊助,網友:以后怕是吃不起海參了!

青青子衿
2025-07-25 11:15:20
即將消失的蒙古國:全國只有一條高速公路,76%的國土正在成沙漠

即將消失的蒙古國:全國只有一條高速公路,76%的國土正在成沙漠

近史談
2025-07-25 23:13:09
前廣東臺主持陳維聰的全家福:妻子等了他10年,30歲女兒長相清秀

前廣東臺主持陳維聰的全家福:妻子等了他10年,30歲女兒長相清秀

科學發掘
2025-07-26 09:59:43
調查:51.8%的中國年輕人認為婚姻不重要 女性更不愿結婚生育

調查:51.8%的中國年輕人認為婚姻不重要 女性更不愿結婚生育

中國網資訊
2025-07-24 16:33:44
汪蘇瀧吃過版權的虧、很重視版權、導致他自己的歌都不能唱了!

汪蘇瀧吃過版權的虧、很重視版權、導致他自己的歌都不能唱了!

跳跳歷史
2025-07-26 11:34:05
四川宜賓民營企業家遭“以刑化債”,政府被指隱匿無罪證據

四川宜賓民營企業家遭“以刑化債”,政府被指隱匿無罪證據

塔子山評說
2025-07-26 11:23:13
兩岸代表團發生沖突,大陸人員受傷,國民黨死到臨頭卻幫腔民進黨

兩岸代表團發生沖突,大陸人員受傷,國民黨死到臨頭卻幫腔民進黨

薦史
2025-07-26 12:03:53
廣東養老金調整細則出爐,三降低一不變,企退養老金3600元漲多少

廣東養老金調整細則出爐,三降低一不變,企退養老金3600元漲多少

小嵩
2025-07-25 17:44:26
這是希島あいり(希島愛里)最初也是最后的傳奇共演!

這是希島あいり(希島愛里)最初也是最后的傳奇共演!

孤獨的獨角獸影視
2025-06-09 09:55:15
烏克蘭反對派前領導人:烏克蘭人民未來的唯一出路是與俄羅斯統一

烏克蘭反對派前領導人:烏克蘭人民未來的唯一出路是與俄羅斯統一

歐羅巴手記
2025-07-26 12:06:04
破億!8分!71歲陳佩斯《戲臺》打臉資本:你還管得了觀眾愛看誰

破億!8分!71歲陳佩斯《戲臺》打臉資本:你還管得了觀眾愛看誰

小椰的奶奶
2025-07-26 12:27:28
冬測互懟后,鴻蒙智行又戰懂車帝:對所謂“測試”,不予置評!| 明鏡pro

冬測互懟后,鴻蒙智行又戰懂車帝:對所謂“測試”,不予置評!| 明鏡pro

明鏡pro
2025-07-25 19:20:02
第四節只打1分鐘!李月汝遭遇打壓僅拿4分,教練不用她立刻就慘敗

第四節只打1分鐘!李月汝遭遇打壓僅拿4分,教練不用她立刻就慘敗

嘴炮體壇
2025-07-26 12:28:53
醫生發現:常年吃降糖藥的人,到70歲后,很多都面臨6種健康困擾

醫生發現:常年吃降糖藥的人,到70歲后,很多都面臨6種健康困擾

艾米手工作品
2025-07-26 12:41:44
2025江蘇養老金調整受歡迎:企退3000和事退7000元,差距僅13.5元

2025江蘇養老金調整受歡迎:企退3000和事退7000元,差距僅13.5元

社保精算師
2025-07-25 21:21:21
朱時茂陳佩斯現狀曝光差距大,一人家財萬貫,一人真被倪萍說中了

朱時茂陳佩斯現狀曝光差距大,一人家財萬貫,一人真被倪萍說中了

游古史
2025-07-23 10:11:55
2025-07-26 18:15:00
數據結構和算法
數據結構和算法
專門介紹和寫算法題解的號
238文章數 3關注度
往期回顧 全部

游戲要聞

《失落之魂》試玩報告:不辱使命"/> 主站 商城 論壇 自運營 登錄 注冊 《失落之魂》試玩報告:不辱使命 子鯉 2025-07-26 返回專欄首頁 作...

頭條要聞

高分考生被廈門大學國外分校誤錄取:已有16人決定復讀

頭條要聞

高分考生被廈門大學國外分校誤錄取:已有16人決定復讀

體育要聞

楊瀚森效力NBA期間 青島男籃將暫存球隊15號球衣

娛樂要聞

董璇首談保釋前夫細節!高云翔突然不回消息

財經要聞

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

科技要聞

AI教父辛頓現身上海:人類如何不被AI殺掉

汽車要聞

"得房率"超90% 全新嵐圖知音空間信息曝光

態度原創

親子
游戲
房產
本地
數碼

親子要聞

中醫養生,家長必看

XGP的又一成功!首發新游Xbox玩家破三百萬!

房產要聞

分數線集體飆漲!海中867分!2025海南中招格局大變!

本地新聞

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

數碼要聞

AMD Magnus APU 圖形規格再曝:68 個計算單元,192-bit 位寬

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 伽师县| 雅江县| 呈贡县| 五常市| 新平| 福鼎市| 安陆市| 天祝| 夏邑县| 五河县| 阿巴嘎旗| 荔浦县| 芜湖市| 甘肃省| 上虞市| 鄯善县| 松滋市| 塘沽区| 封丘县| 镶黄旗| 新昌县| 平阳县| 长丰县| 武城县| 盐池县| 阿拉善右旗| 常熟市| 云安县| 云阳县| 固始县| 灵石县| 台北县| 新津县| 望谟县| 华安县| 介休市| 锦屏县| 浦城县| 奇台县| 双流县| 土默特左旗|