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

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

中國最難入的IT公司。

0
分享至

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

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

最近在網上看到有人做了一個統計,統計的是中國最難入職的IT公司,排名第一的是拼多多,拼多多需要處理高并發和分布式系統,技術挑戰大,面試流程可能包括多輪技術面和系統設計,同時工作壓力導致篩選更嚴。我現在網上購物也會使用拼多多,雖然很多東西質量不怎么樣,但人家便宜。之前我一直以為字節跳動應該是最難的,畢竟字節算法考的比較難,基本上都是hard級別的。




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

來看下今天的算法題,這題是LeetCode的第75題:顏色分類。

問題描述

來源:LeetCode第75題

難度:中等

給定一個包含紅色、白色和藍色、共 n 個元素的數組 nums ,原地對它們進行排序,使得相同顏色的元素相鄰,并按照紅色、白色、藍色順序排列。

我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。必須在不使用庫內置的 sort 函數的情況下解決這個問題。

示例1:


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

示例2:


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

  • n == nums.length

  • 1 <= n <= 300

  • nums[i] 為 0、1 或 2

問題分析

這題是讓把數組中的 0 都挪到前面,2 都挪到后面,1 放到中間,其實就是荷蘭國旗問題,解決方式也比較簡單 。

我們可以使用三個指針,left指向前面需要交換的元素,right指向后面需要交換的元素,還一個index指向當前遍歷的元素。

如果index指向的元素是 0 ,就和left指向的元素交換,交換完之后left要往后移一步。同理如果index指向的元素是 2 ,就和right指向的元素交換,交換完之后right要往前移一步。否則index指向的就是 1 ,不需要做任何交換。

這里要注意index指向的值和left指向的值交換之后,index是可以往后移一步的。但index和right指向的值交換之后,index是不能往后移的,因為在交換之前,right指向的值有可能是0或者是2,所以交換之后還需要再次計算。

JAVA:

public void sortColors(int[] nums) {     int left = 0;// 0的右邊界     int right = nums.length - 1;// 2的左邊界     int index = 0;// 指向當前數字     while (index <= right) {         if (nums[index] == 0) {             // 如果是0,就往前面移             swap(nums, left++, index++);         } else if (nums[index] == 1) {             // 如果是1,不做任何交換             index++;         } else if (nums[index] == 2) {             // 如果是2就往后面移             swap(nums, right--, index);         }     } } // 交換數組中的兩個數字 private void swap(int[] nums, int i, int j) {     int tmp = nums[i];     nums[i] = nums[j];     nums[j] = tmp; }

C++:

public:     void sortColors(vector

  &nums) {         int left = 0;// 0的右邊界         int right = nums.size() - 1;// 2的左邊界         int index = 0;// 指向當前數字         while (index <= right) {             if (nums[index] == 0) {                 // 如果是0,就往前面移                 swap(nums[left++], nums[index++]);             } else if (nums[index] == 1) {                 // 如果是1,不做任何交換                 index++;             } else if (nums[index] == 2) {                 // 如果是2就往后面移                 swap(nums[right--], nums[index]);             }         }     }

C:

void swap(int *a, int *b) {     int tmp = *a;     *a = *b;     *b = tmp; } void sortColors(int *nums, int numsSize) {     int left = 0;// 0的右邊界     int right = numsSize - 1;// 2的左邊界     int index = 0;// 指向當前數字     while (index <= right) {         if (nums[index] == 0) {             // 如果是0,就往前面移             swap(&nums[left++], &nums[index++]);         } else if (nums[index] == 1) {             // 如果是1,不做任何交換             index++;         } else if (nums[index] == 2) {             // 如果是2就往后面移             swap(&nums[right--], &nums[index]);         }     } }

Python:

def sortColors(self, nums: List[int]) -> None:     # left 是0的右邊界,right是2的左邊界,index是指向當前數字。     left, right, index = 0, len(nums) - 1, 0     while index <= right:         if nums[index] == 0:             # 如果是0,就往前面移             nums[left], nums[index] = nums[index], nums[left]             left += 1             index += 1         elif nums[index] == 1:             # 如果是1,不做任何交換             index += 1         elif nums[index] == 2:             # 如果是2就往后面移             nums[right], nums[index] = nums[index], nums[right]             right -= 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.

相關推薦
熱點推薦
80歲張春橋保外就醫細節:每天兩菜一湯,最怕聽到孩子笑聲!

80歲張春橋保外就醫細節:每天兩菜一湯,最怕聽到孩子笑聲!

星宇共鳴
2025-07-24 17:34:26
別克首款中大型增程轎跑亮相!全新的逍遙架構,純電續航302公里

別克首款中大型增程轎跑亮相!全新的逍遙架構,純電續航302公里

小史談車
2025-07-24 15:22:43
陳佩斯新片全場零笑聲?點映場觀眾為何集體沉默!

陳佩斯新片全場零笑聲?點映場觀眾為何集體沉默!

情感大頭說說
2025-07-23 14:23:09
96年奧尼爾加盟湖人,直到2000年捧杯 中間這3年季后賽都輸給誰了

96年奧尼爾加盟湖人,直到2000年捧杯 中間這3年季后賽都輸給誰了

大衛的籃球故事
2025-07-25 18:54:14
iPhone17Pro全系配色曝光:橙色最吸睛

iPhone17Pro全系配色曝光:橙色最吸睛

魯中晨報
2025-07-25 18:12:06
小燕子帶著女兒小四月大理度假,塑料袋裝舊愛馬仕有點奇怪啊!

小燕子帶著女兒小四月大理度假,塑料袋裝舊愛馬仕有點奇怪啊!

農城浪子
2025-07-25 11:08:30
勞森全場23分3板4助,黎巴嫩男籃熱身賽105-89大勝伊朗男籃

勞森全場23分3板4助,黎巴嫩男籃熱身賽105-89大勝伊朗男籃

雷速體育
2025-07-25 12:37:19
娛樂圈鮮為人知事件:老燕子舅舅人盡皆知,釋小龍背景無人能及!

娛樂圈鮮為人知事件:老燕子舅舅人盡皆知,釋小龍背景無人能及!

娛樂獨家內幕
2025-07-24 01:55:53
金正日長子死亡內幕:被軟禁到15歲,打造情色行宮,涉嫌謀害弟弟

金正日長子死亡內幕:被軟禁到15歲,打造情色行宮,涉嫌謀害弟弟

吳學華看天下
2023-12-12 11:19:09
“我都退休了憑啥不能補課?”老教師家中補課被舉報,教育部門回應

“我都退休了憑啥不能補課?”老教師家中補課被舉報,教育部門回應

譚老師地理工作室
2025-07-25 14:25:28
26歲女子深圳面試后想刪身份證手機號遭毆打致骨折?涉事公司:無肢體接觸,警方介入

26歲女子深圳面試后想刪身份證手機號遭毆打致骨折?涉事公司:無肢體接觸,警方介入

瀟湘晨報
2025-07-24 17:32:05
勇奪女單冠軍!中國女乒又一22歲黑馬新星崛起:外戰不敗無懼日乒

勇奪女單冠軍!中國女乒又一22歲黑馬新星崛起:外戰不敗無懼日乒

李喜林籃球絕殺
2025-07-25 12:52:13
野史不一定保真但一定包野,網友:古人的“八卦”更炸裂

野史不一定保真但一定包野,網友:古人的“八卦”更炸裂

東洲清
2025-03-14 11:21:12
毛主席唯一活下來的兒子,07年離世享年84歲,晚年享受的啥待遇?

毛主席唯一活下來的兒子,07年離世享年84歲,晚年享受的啥待遇?

南書房
2025-07-25 23:25:03
上海小伙專程逛3天胖東來!現實比網上說的更離譜,細節讓人震驚

上海小伙專程逛3天胖東來!現實比網上說的更離譜,細節讓人震驚

大笑江湖史
2025-07-21 15:04:57
“打基礎論”為什么站不住腳?

“打基礎論”為什么站不住腳?

報人劉亞東
2025-07-25 17:45:42
德布勞內:瓜帥風格偏進攻孔蒂偏防守,有足夠時間了解教練和戰術

德布勞內:瓜帥風格偏進攻孔蒂偏防守,有足夠時間了解教練和戰術

直播吧
2025-07-25 21:53:56
孕檢發現孩子沒手沒腳,寶媽不顧勸阻堅持生下,如今過得怎么樣?

孕檢發現孩子沒手沒腳,寶媽不顧勸阻堅持生下,如今過得怎么樣?

大果小果媽媽
2025-07-02 20:46:20
確認影響上海,“三臺風共舞”!大風大雨來了

確認影響上海,“三臺風共舞”!大風大雨來了

魯中晨報
2025-07-25 16:58:23
游泳世錦賽|擊碎質疑!昔日霸主俄羅斯曲線回歸,中國花游終越“高山”

游泳世錦賽|擊碎質疑!昔日霸主俄羅斯曲線回歸,中國花游終越“高山”

文匯報
2025-07-25 22:53:09
2025-07-26 00:19:00
數據結構和算法
數據結構和算法
專門介紹和寫算法題解的號
238文章數 3關注度
往期回顧 全部

科技要聞

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

頭條要聞

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

頭條要聞

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

體育要聞

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

娛樂要聞

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

財經要聞

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

汽車要聞

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

態度原創

健康
本地
時尚
手機
公開課

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

本地新聞

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

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

手機要聞

三星新一代Galaxy Z系列 開啟折疊屏主動交互新時代

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 镇巴县| 峡江县| 怀集县| 抚宁县| 白朗县| 静海县| 通化市| 茌平县| 福泉市| 江阴市| 大冶市| 上高县| 广丰县| 浑源县| 屯门区| 霍山县| 密山市| 陇南市| 白河县| 泸西县| 凤山县| 巩义市| 松溪县| 辽源市| 万山特区| 萨迦县| 高台县| 巫山县| 海阳市| 铁力市| 定结县| 莱州市| 阿克苏市| 阳谷县| 临猗县| 太白县| 伊川县| 潼关县| 泰宁县| 金沙县| 白城市|