LeetCode - #26 刪除有序數(shù)組中的重復(fù)項(xiàng)

前言

我們社區(qū)陸續(xù)會(huì)將顧毅(Netflix 增長黑客藏畅,《iOS 面試之道》作者挟阻,ACE 職業(yè)健身教練。微博:@故胤道長)的 Swift 算法題題解整理為文字版以方便大家學(xué)習(xí)與閱讀。

LeetCode 算法到目前我們已經(jīng)更新了 25 期驻民,我們會(huì)保持更新時(shí)間和進(jìn)度(周一翻具、周三、周五早上 9:00 發(fā)布)回还,每期的內(nèi)容不多裆泳,我們希望大家可以在上班路上閱讀,長久積累會(huì)有很大提升柠硕。

不積跬步工禾,無以至千里;不積小流蝗柔,無以成江海闻葵,Swift社區(qū) 伴你前行。如果大家有建議和意見歡迎在文末留言癣丧,我們會(huì)盡力滿足大家的需求槽畔。

難度水平:簡單

1. 描述

給你一個(gè) 升序排列 的數(shù)組 nums ,請你 原地 刪除重復(fù)出現(xiàn)的元素胁编,使每個(gè)元素 只出現(xiàn)一次 厢钧,返回刪除后數(shù)組的新長度。元素的 相對(duì)順序 應(yīng)該保持 一致 嬉橙。

由于在某些語言中不能改變數(shù)組的長度早直,所以必須將結(jié)果放在數(shù)組 nums 的第一部分。更規(guī)范地說憎夷,如果在刪除重復(fù)項(xiàng)之后有 k 個(gè)元素莽鸿,那么 nums 的前 k 個(gè)元素應(yīng)該保存最終結(jié)果。

將最終結(jié)果插入 nums 的前 k 個(gè)位置后返回 k 拾给。

不要使用額外的空間祥得,你必須在 原地 修改輸入數(shù)組 并在使用 O(1) 額外空間的條件下完成。

判題標(biāo)準(zhǔn):

系統(tǒng)會(huì)用下面的代碼來測試你的題解:

int[] nums = [...]; // 輸入數(shù)組
int[] expectedNums = [...]; // 長度正確的期望答案

int k = removeDuplicates(nums); // 調(diào)用

assert k == expectedNums.length;
for (int i = 0; i < k; i++) {
    assert nums[i] == expectedNums[i];
}

如果所有斷言都通過蒋得,那么您的題解將被 通過级及。

2. 示例

示例 1

輸入:nums = [1,1,2]
輸出:2, nums = [1,2,_]
解釋:函數(shù)應(yīng)該返回新的長度 2 ,并且原數(shù)組 nums 的前兩個(gè)元素被修改為 1, 2 额衙。不需要考慮數(shù)組中超出新長度后面的元素饮焦。

示例 2

輸入:nums = [0,0,1,1,1,2,2,3,3,4]
輸出:5, nums = [0,1,2,3,4]
解釋:函數(shù)應(yīng)該返回新的長度 5 , 并且原數(shù)組 nums 的前五個(gè)元素被修改為 0, 1, 2, 3, 4 窍侧。不需要考慮數(shù)組中超出新長度后面的元素县踢。

約束條件:

  • 0 <= nums.length <= 3 * 10^4
  • -10^4 <= nums[i] <= 10^4
  • nums 已按 升序 排列

3. 答案

class RemoveDuplicatesFromSortedArray {
    func removeDuplicates(inout nums: [Int]) -> Int {
        guard nums.count > 0 else {
            return 0
        }
        
        var index = 0
        
        for num in nums where num != nums[index] {
            index += 1
            nums[index] = num
        }
        
        return index + 1
    }
}
  • 主要思想:保留一個(gè)索引,將該索引處的元素與前面的元素進(jìn)行比較伟件。
  • 時(shí)間復(fù)雜度: O(n)
  • 空間復(fù)雜度: O(1)

該算法題解的倉庫:LeetCode-Swift

點(diǎn)擊前往 LeetCode 練習(xí)

關(guān)于我們

我們是由 Swift 愛好者共同維護(hù)硼啤,我們會(huì)分享以 Swift 實(shí)戰(zhàn)、SwiftUI斧账、Swift 基礎(chǔ)為核心的技術(shù)內(nèi)容谴返,也整理收集優(yōu)秀的學(xué)習(xí)資料煞肾。

后續(xù)還會(huì)翻譯大量資料到我們公眾號(hào),有感興趣的朋友嗓袱,可以加入我們籍救。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市渠抹,隨后出現(xiàn)的幾起案子蝙昙,更是在濱河造成了極大的恐慌,老刑警劉巖逼肯,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耸黑,死亡現(xiàn)場離奇詭異桃煎,居然都是意外死亡篮幢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門为迈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來三椿,“玉大人,你說我怎么就攤上這事葫辐∷衙蹋” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵耿战,是天一觀的道長蛋叼。 經(jīng)常有香客問我,道長剂陡,這世上最難降的妖魔是什么狈涮? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮鸭栖,結(jié)果婚禮上歌馍,老公的妹妹穿的比我還像新娘。我一直安慰自己晕鹊,他們只是感情好松却,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著溅话,像睡著了一般晓锻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上飞几,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天砚哆,我揣著相機(jī)與錄音,去河邊找鬼循狰。 笑死窟社,一個(gè)胖子當(dāng)著我的面吹牛券勺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灿里,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼关炼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了匣吊?” 一聲冷哼從身側(cè)響起儒拂,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎色鸳,沒想到半個(gè)月后社痛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡命雀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年蒜哀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吏砂。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡撵儿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出狐血,到底是詐尸還是另有隱情淀歇,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布匈织,位于F島的核電站浪默,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏缀匕。R本人自食惡果不足惜纳决,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弦追。 院中可真熱鬧岳链,春花似錦、人聲如沸劲件。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽零远。三九已至苗分,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間牵辣,已是汗流浹背摔癣。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人择浊。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓戴卜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親琢岩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子投剥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容