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

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

內(nèi)地公司香港招人限定35歲以下,當(dāng)?shù)豀R怒斥:這是一種劣質(zhì)行為。。。

0
分享至

專欄:50多種數(shù)據(jù)結(jié)構(gòu)徹底征服

專欄:50多種經(jīng)典圖論算法全部掌握

在近在網(wǎng)上看到一個視頻,一HR在幫內(nèi)地一家非常大的手機(jī)品牌在香港招聘的時候,要求年齡限制在35歲以下,引起該HR的痛批。至于是哪家手機(jī)品牌,視頻中沒有透露,我們也不要隨便猜測。只是這個行為在內(nèi)地已經(jīng)司空見慣了,雖然批評的聲音一直存在,但大家好像都已經(jīng)習(xí)慣了。至于在香港應(yīng)該還沒有這方面的先例,有網(wǎng)友評論道:“過分了。內(nèi)地大企業(yè)想把劣質(zhì)招聘文化帶到香港!必須拒絕!




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

來看下今天的算法題,這題是LeetCode的第417題:太平洋大西洋水流問題。

問題描述

來源:LeetCode第417題

難度:中等

有一個 m × n 的矩形島嶼,與 太平洋 和 大西洋 相鄰。“太平洋” 處于大陸的左邊界和上邊界,而 “大西洋” 處于大陸的右邊界和下邊界。

這個島被分割成一個由若干方形單元格組成的網(wǎng)格。給定一個 m x n 的整數(shù)矩陣 heights , heights[r][c] 表示坐標(biāo) (r, c) 上單元格 高于海平面的高度 。

島上雨水較多,如果相鄰單元格的高度小于或等于當(dāng)前單元格的高度,雨水可以直接向北、南、東、西流向相鄰單元格。水可以從海洋附近的任何單元格流入海洋。

返回網(wǎng)格坐標(biāo) result 的 2D 列表 ,其中 result[i] = [ri, ci] 表示雨水從單元格 (ri, ci) 流動既可流向太平洋也可流向大西洋。

示例1:



輸入: heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]] 輸出: [[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]]

示例2:


輸入: heights = [[2,1],[1,2]] 輸出: [[0,0],[0,1],[1,0],[1,1]]

  • m == heights.length

  • n == heights[r].length

  • 1 <= m, n <= 200

  • 0 <= heights[r][c] <= 10^5

問題分析

這題很繞,總結(jié)起來實(shí)際上就一句話: 哪些位置的水既能流到太平洋又能流到大西洋 。

直接計(jì)算比較麻煩,我們 先計(jì)算哪些位置的水可以流到太平洋,在計(jì)算哪些位置的水可以流到大西洋 ,最后在枚舉所有的位置,判斷哪些位置的水既能流到太平洋又能流到大西洋。

我們知道太平洋沿岸的水肯定是能流到太平洋的,水往低處流,這里我們 逆向思維 ,讓水往高處流。從太平洋沿岸的位置開始遍歷,如果下一個位置比當(dāng)前位置高,說明下一個位置一定可以通過當(dāng)前位置流到太平洋的,如下圖所示。同理大西洋也一樣。


JAVA:

public List
         
 > pacificAtlantic( int[][] heights) {     List > ans =  new ArrayList<>();      int n = heights.length, m = heights[ 0].length;      // 哪些位置可以到達(dá)太平洋      boolean[][] pacific =  new  boolean[n][m]; // 太平洋      // 哪些位置可以到達(dá)大西洋      boolean[][] atlantic =  new  boolean[n][m]; // 大西洋     Queue< int[]> pQueue =  new LinkedList<>();     Queue< int[]> aQueue =  new LinkedList<>();      // 四周邊界      for ( int i =  0; i < n; i++) {         pQueue.offer( new  int[]{i,  0});         aQueue.offer( new  int[]{i, m -  1});         pacific[i][ 0] =  true;         atlantic[i][m -  1] =  true;     }      for ( int i =  0; i < m; i++) {         pQueue.offer( new  int[]{ 0, i});         aQueue.offer( new  int[]{n -  1, i});         pacific[ 0][i] =  true;         atlantic[n -  1][i] =  true;     }     bfs(heights, m, n, pQueue, pacific); // 先查找能夠到達(dá)太平洋的坐標(biāo)     bfs(heights, m, n, aQueue, atlantic); // 在查找能夠達(dá)到大西洋的坐標(biāo)      for ( int i =  0; i < n; i++) {          for ( int j =  0; j < m; j++) {              // 哪些位置既可以到達(dá)太平洋也可以達(dá)到大西洋              if (pacific[i][j] && atlantic[i][j])                 ans.add(Arrays.asList(i, j));         }     }      return ans; } int[][] dir =  new  int[][]{{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; private void bfs(int[][] heights, int m, int n, Queue

  queue, boolean[][] visited) {      while (!queue.isEmpty()) {          int[] cur = queue.poll();          for ( int[] d : dir) {              int x = cur[ 0] + d[ 0];              int y = cur[ 1] + d[ 1];              // 水如果從位置heights[x][y]流到位置[cur[0]][cur[1]],那么              // heights[x][y]的高度必須要大于[cur[0]][cur[1]]。              if (x <  0 || x >= n || y <  0 || y >= m || visited[x][y]                     || heights[x][y] < heights[cur[ 0]][cur[ 1]])                  continue;             visited[x][y] =  true; // 標(biāo)記可以到達(dá)             queue.offer( new  int[]{x, y});         }     } }

C++:

public:     vector

 > pacificAtlantic(vector

 > &heights) {         vector

 > ans;         int n = heights.size(), m = heights[0].size();         // 哪些位置可以到達(dá)太平洋         vector

 > pacific(n, vector

 (m, false));         // 哪些位置可以到達(dá)大西洋         vector

 > atlantic(n, vector

 (m, false));         queue int,  int>> pQueue;          queue int,  int>> aQueue;          // 四周邊界          for ( int i =  0; i < n; i++) {             pQueue.emplace(i,  0);             aQueue.emplace(i, m -  1);             pacific[i][ 0] =  true;             atlantic[i][m -  1] =  true;         }          for ( int i =  0; i < m; i++) {             pQueue.emplace( 0, i);             aQueue.emplace(n -  1, i);             pacific[ 0][i] =  true;             atlantic[n -  1][i] =  true;         }         bfs(heights, m, n, pQueue, pacific); // 先查找能夠到達(dá)太平洋的坐標(biāo)         bfs(heights, m, n, aQueue, atlantic); // 在查找能夠達(dá)到大西洋的坐標(biāo)          for ( int i =  0; i < n; i++) {              for ( int j =  0; j < m; j++) {                  // 哪些位置既可以到達(dá)太平洋也可以達(dá)到大西洋                  if (pacific[i][j] && atlantic[i][j])                     ans.push_back({i, j});             }         }          return ans;     }      int dir[ 4][ 2] = {{1,  0},                      {-1, 0},                      {0,  1},                      {0,  -1}};      void bfs(vector

 > &heights, int m, int n, queue int , int>> &q, vector

 > &visited) {          while (!q.empty()) {             pair< int,  int> cur = q.front();             q.pop();              for ( const  auto d: dir) {                  int x = cur.first + d[ 0];                  int y = cur.second + d[ 1];                  // 水如果從位置heights[x][y]流到位置[cur[0]][cur[1]],那么                  // heights[x][y]的高度必須要大于[cur[0]][cur[1]]。                  if (x <  0 || x >= n || y <  0 || y >= m || visited[x][y]                     || heights[x][y] < heights[cur.first][cur.second])                      continue;                 visited[x][y] =  true; // 標(biāo)記可以到達(dá)                 q.emplace(x, y);             }         }     }









Python:

def pacificAtlantic(self, heights: List[List[int]]) -> List[List[int]]:     def bfs(q, visited):         while q:             cur = q.pop()             for d in dirs:                 x = cur[0] + d[0]                 y = cur[1] + d[1]                 # 水如果從位置heights[x][y]流到位置[cur[0]][cur[1]],那么heights[x][y] 的高度必須要大于[cur[0]][cur[1]]。                 if x < 0 or x >= n or y < 0 or y >= m or visited[x][y] or heights[x][y] < heights[cur[0]][cur[1]]:                     continue                 visited[x][y] = True  # 標(biāo)記可以到達(dá)                 q.append([x, y])     dirs = [[1, 0], [-1, 0], [0, 1], [0, -1]]     ans = []     n, m = len(heights), len(heights[0])     # 哪些位置可以到達(dá)太平洋     pacific = [[False for _ in range(m)] for _ in range(n)]     # 哪些位置可以到達(dá)大西洋     atlantic = [[False for _ in range(m)] for _ in range(n)]     pQueue = []     aQueue = []     # 四周邊界     for i in range(n):         pQueue.append([i, 0])         aQueue.append([i, m - 1])         pacific[i][0] = True         atlantic[i][m - 1] = True     for i in range(m):         pQueue.append([0, i])         aQueue.append([n - 1, i])         pacific[0][i] = True         atlantic[n - 1][i] = True     bfs(pQueue, pacific)  # 先查找能夠到達(dá)太平洋的坐標(biāo)     bfs(aQueue, atlantic)  # 在查找能夠達(dá)到大西洋的坐標(biāo)     for i in range(n):         for j in range(m):             # 哪些位置既可以到達(dá)太平洋也可以達(dá)到大西洋             if pacific[i][j] and atlantic[i][j]:                 ans.append([i, j])     return ans

筆者簡介

博哥,真名:王一博,畢業(yè)十多年, 作者,專注于 數(shù)據(jù)結(jié)構(gòu)和算法 的講解,在全球30多個算法網(wǎng)站中累計(jì)做題2000多道,在公眾號中寫算法題解800多題,對算法題有自己獨(dú)特的解題思路和解題技巧,喜歡的可以給個關(guān)注,也可以 下載我整理的1000多頁的PDF算法文檔 。

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

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.

相關(guān)推薦
熱點(diǎn)推薦
因小失大? 王欣瑜宣布退出WTA1000蒙特利爾站!

因小失大? 王欣瑜宣布退出WTA1000蒙特利爾站!

田先生籃球
2025-07-25 22:02:12
爆笑客服經(jīng)典笑話,本月初接到一個電話女客服打來的電話說

爆笑客服經(jīng)典笑話,本月初接到一個電話女客服打來的電話說

天天明星
2025-07-23 19:55:37
12月18日起,海南正式封關(guān),和普通人有什么關(guān)系?

12月18日起,海南正式封關(guān),和普通人有什么關(guān)系?

財話連篇
2025-07-23 14:55:28
小馬科斯當(dāng)面針對中國,特朗普聽完說的話,讓菲律賓總統(tǒng)變了臉色

小馬科斯當(dāng)面針對中國,特朗普聽完說的話,讓菲律賓總統(tǒng)變了臉色

董董歷史燴
2025-07-25 21:37:49
網(wǎng)友稱外賣小哥積水中觸電身亡,當(dāng)?shù)囟嗖块T回應(yīng)

網(wǎng)友稱外賣小哥積水中觸電身亡,當(dāng)?shù)囟嗖块T回應(yīng)

極目新聞
2025-07-25 19:26:28
國家為何出手叫停外賣大戰(zhàn),醒醒吧,他們的終極目標(biāo)根本不是外賣

國家為何出手叫停外賣大戰(zhàn),醒醒吧,他們的終極目標(biāo)根本不是外賣

好賢觀史記
2025-07-24 14:10:30
又一起吃他汀猝死!醫(yī)生反復(fù)忠告:夏季吃他汀的人,要警惕這5點(diǎn)

又一起吃他汀猝死!醫(yī)生反復(fù)忠告:夏季吃他汀的人,要警惕這5點(diǎn)

白宸侃片
2025-07-24 11:54:15
河南考生674分被福耀科技大學(xué)錄取,有網(wǎng)友稱“腦子進(jìn)水”,本人:多方了解后做出決定,不在乎他人看法

河南考生674分被福耀科技大學(xué)錄取,有網(wǎng)友稱“腦子進(jìn)水”,本人:多方了解后做出決定,不在乎他人看法

極目新聞
2025-07-24 18:16:54
再次言中:美國提供3500億美金武器、歐盟掏錢、主要送往烏克蘭

再次言中:美國提供3500億美金武器、歐盟掏錢、主要送往烏克蘭

邵旭峰域
2025-07-25 15:48:21
確認(rèn)了!開始大裁員!超20000人面臨失業(yè)

確認(rèn)了!開始大裁員!超20000人面臨失業(yè)

浙江之聲
2025-07-25 15:17:04
他出身黑道,曾是高官的司機(jī)和白手套,迎娶小燕子,后花十年洗白

他出身黑道,曾是高官的司機(jī)和白手套,迎娶小燕子,后花十年洗白

阿胡
2024-04-29 11:49:43
餐車工作人員違規(guī)橫越線路致列車緊急停車,鐵路回應(yīng)

餐車工作人員違規(guī)橫越線路致列車緊急停車,鐵路回應(yīng)

界面新聞
2025-07-25 21:11:31
暴走團(tuán)大媽每天暴走導(dǎo)致堵車,街道勸說無果,領(lǐng)導(dǎo):讓他們走個夠

暴走團(tuán)大媽每天暴走導(dǎo)致堵車,街道勸說無果,領(lǐng)導(dǎo):讓他們走個夠

不易一字
2025-07-24 19:16:51
董璇自曝與新婚丈夫張維伊分開居住:有孩子不可能住在一起,畢竟是女孩兒

董璇自曝與新婚丈夫張維伊分開居住:有孩子不可能住在一起,畢竟是女孩兒

觀威海
2025-07-25 14:55:28
博主吐槽潿洲島亂收費(fèi),除了呼吸都要錢,島上民宿老板炸鍋了

博主吐槽潿洲島亂收費(fèi),除了呼吸都要錢,島上民宿老板炸鍋了

凡知
2025-07-25 12:13:22
流落在中國的外國公主,拒絕回國:我是中國人,中國就是我的家!

流落在中國的外國公主,拒絕回國:我是中國人,中國就是我的家!

淼犇小牛
2025-07-12 10:33:06
請給北京日報帶個話,死了的學(xué)生情緒更穩(wěn)定

請給北京日報帶個話,死了的學(xué)生情緒更穩(wěn)定

李宇琛
2025-07-25 20:50:23
馬筱梅直播被黑粉攻擊:不會下蛋的雞,高情商回懟:下了你記得隨禮

馬筱梅直播被黑粉攻擊:不會下蛋的雞,高情商回懟:下了你記得隨禮

小娛樂悠悠
2025-07-25 12:45:54
三峽大壩 “賬本” 曝光:運(yùn)行了 20 余年,2500 億投入如今回本了嗎?

三峽大壩 “賬本” 曝光:運(yùn)行了 20 余年,2500 億投入如今回本了嗎?

平祥生活日志
2025-07-24 12:09:15
新晉足壇女神?瑞典前鋒被譽(yù)“世界最美球員”,社媒曬照引盛贊

新晉足壇女神?瑞典前鋒被譽(yù)“世界最美球員”,社媒曬照引盛贊

雷速體育
2025-07-25 11:34:32
2025-07-25 23:52:49
數(shù)據(jù)結(jié)構(gòu)和算法
數(shù)據(jù)結(jié)構(gòu)和算法
專門介紹和寫算法題解的號
238文章數(shù) 3關(guān)注度
往期回顧 全部

頭條要聞

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

頭條要聞

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

體育要聞

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

娛樂要聞

汪蘇瀧不忍了 !張碧晨痛失《年輪》演唱權(quán)

財經(jīng)要聞

劉煜輝:當(dāng)下重要不是找確定性而是轉(zhuǎn)折點(diǎn)

科技要聞

36款熱門車高危智駕場景測試,“團(tuán)滅”!

汽車要聞

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

態(tài)度原創(chuàng)

教育
藝術(shù)
時尚
房產(chǎn)
本地

教育要聞

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

藝術(shù)要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

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

房產(chǎn)要聞

分?jǐn)?shù)線集體飆漲!海中867分!2025海南中招格局大變!

本地新聞

換個城市過夏天|風(fēng)拂鹽湖,躲進(jìn)格爾木的盛夏清涼

無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 建宁县| 开江县| 伊吾县| 宿州市| 丹寨县| 大港区| 石门县| 望都县| 浮梁县| 平阴县| 澄迈县| 张掖市| 龙泉市| 兰溪市| 长垣县| 石首市| 莲花县| 岳普湖县| 东乌珠穆沁旗| 马龙县| 昭平县| 夏邑县| 霍州市| 客服| 渭源县| 冕宁县| 华容县| 五大连池市| 沙坪坝区| 舞阳县| 高邮市| 马公市| 宣恩县| 临泽县| 岳西县| 蓬莱市| 浦城县| 达日县| 茌平县| 辽源市| 台东市|