|

做題筆記:Remove Duplicates from Sorted Array (Java)

今後 Easy 題若沒碰到非常精彩的就不每題都更了。

題目描述:

給定一個按非遞減順序排序的整數數組 nums,就地刪除重複項,使每個單獨的元素只出現一次。元素的相對順序應保持不變。

由於在某些語言中無法更改數組的長度,因此您必須將結果放在數組 nums 的前半部分。更正式地說,如果刪除重複項後有 k 個元素,則 nums 的前 k 個元素應持有最終結果。除了前 k 個元素之外,留下什麼都不重要。

將最終結果放入 nums 的前 k 個插槽後返回 k值。

Example 1:

Input: nums = [1,1,2]
Output: 2, nums = [1,2,_]
Explanation: Your function should return k = 2, with the first two elements of nums being 1 and 2 respectively.
It does not matter what you leave beyond the returned k (hence they are underscores).

Example 2:

Input: nums = [0,0,1,1,1,2,2,3,3,4]
Output: 5, nums = [0,1,2,3,4,_,_,_,_,_]
Explanation: Your function should return k = 5, with the first five elements of nums being 0, 1, 2, 3, and 4 respectively.
It does not matter what you leave beyond the returned k (hence they are underscores).

Stack 解法:

自己還是只能想出來蠢方法,應該刷題量還遠遠不夠吧:

class Solution {
    public int removeDuplicates(int[] nums) {
		Stack<Integer> Stack = new Stack<Integer>();
		int k = 0;
		for (int i = 0; i < nums.length; i++) {
			if (Stack.search(nums[i])==-1) {
				Stack.push(nums[i]);
				nums[k] = nums[i];
				k++;
			} 
		}
		return k;
	}
}

7 ms

利用順序的取巧方法:

class Solution {
    public int removeDuplicates(int[] nums) {
        int i = 0;
        for(int n: nums){
            if(i == 0 || n > nums[i - 1]){
                nums[i] = n;
                i++;
            }
        }
        return i;
    }
}

1 ms

Similar Posts

  • |

    過客之年

    你站在橋上看風景,看風景的人在樓上看你。 明月裝飾了你的窗子,你裝飾了別人的夢。 2025 年,幾件大事,脈絡十分清晰,稱不上渾渾噩噩,但就是莫名過得很快。讓我久違地想認真寫一篇年終總結。 甚至年底時刷到大V推友說,還能寫年終總結的人,沒有到能影響股價的地步。很在理,我可影響不了什麼股價,只是記我的流水帳。 我沒有年度漢字,但如果要挑一個年度詞,大概是「過客」。 你對城市是過客,事業對你是過客,那個人對你亦是過客。 年初還循著舊習慣在過日子,頭兩個月都是在到處瞎逛,我太浮躁了,一定要高強度輸入刺激才能過活,閾值也越來越高。 縱觀整年的人際交往,發現真正的寶藏人脈是在二月 IFS 上認識的,而不是年中那些無效社交,所以還是 Ingress 更靠譜嗎?我之後還發現了一個特別有趣的細節,最開始熱聊了幾天,接著從二月底到四月底斷聯了整整兩個月,才重新聯絡上。(直覺裡總覺得應該是在頻繁交流)。優質關係感覺確實需要沉澱一番。而那種一上來熱情無比,天天都在聊天的上頭關係,無法持續。 再進一步概括,上述所說不就是「君子之交淡若水,小人之交甘若醴」嗎?又落後先哲兩千年。 二月中逃離加拿大的冬天,去 Tucson 打 2025 年的第一場大戰,首次沒有在加勒比過冬,而是感受 Arizona 的沙漠陽光。 接到人生第一次裁員的消息,不過是從鳳凰城回來後的第二週,這大概就叫心情大起大落。此時才意識到,Job Security 確實是一個很重要的概念,否則你不過是職場的過客。但其實當時對這件事沒太所謂,本來也沒多喜歡那份工作,況且能拿到 EI,這類福利才是作為發達國家能為你兜底的生存線。那就先休息一陣子吧,去做朝九晚五時做不了的那些事。 於是,我趁著第一次有這麼長的閒暇時間,不用上班,不用上學,決定回國探親一趟,這是我三年間第一次回國。走的那天,剛好出大選結果。PP 竟然從領先二十個點被極限翻盤,全拜南邊鄰居那位所賜,如今回想起來,2025 會是極其 Drama 的一年,早有所預示。 在國內,先去深圳看了姐姐剛生的孩子,我的侄女。始終感覺別人的人生劇本還是按最常見的模式在推進,每次我提到我是不婚主義,別人都只當我是打嘴炮,譏諷我一定有一天會結。為什麼一定呢?今年種種經歷都是在告訴我,人生太不定了。 後來陪父母去了一趟西藏,其實心裡打的算盤是,成為外國人以後無法再去西藏自由行了,抓緊時間去一趟。拉薩往返阿里,俗稱小環線。 三年沒回國,香港則是瘟疫爆發後再也沒去過,也就是說,我從沒踏上過實行國安法後的「美麗新香港」。此番在美麗新香港,港鐵徵收了我五年不常用八達通行政費,45 港紙。路邊的橫幅更是哭笑不得,已經整整五年了嗎? 今年的六四集會都是那麼荒誕,去年發生過一些事情,造成了老民運和較新一派各自舉辦紀念活動。事發時我有所銳評,不在此多做贅述。 接下來的主旋律就是以找工作為主吧,輔以一些小插曲,比如去考了槍牌、又多翻譯了兩本書甚至發現中文榜單非常好打榜。畢竟誰沒事在加區買中文書呀。還有很難能可貴的一件事是,雖然每天很焦慮投簡歷,整個下午,能把每日新增的崗位投完,但其實之後也就不知道該再做什麼好,於是我今年竟然有時間玩遊戲了!要知道我前兩年的 Steam 年終總結,基本都是空的。況且我的頭號玩家好朋友,只要一出大作就馬上買,我在 Steam 家庭裡待著,玩遊戲從來沒付過錢。他真的是我家人啊,這不是家人是什麼?我今年為此還自建了一個遊戲評測站。 如此差的市場環境下,我也親身體驗了什麼叫做就業地獄。愣是幾個月,幾千份申請,杳無音訊。那段時間我也高強度地參加一些社交活動,主要都是 Web3 的主題,偶爾有一些 AI 或者傳統 Tech 相關的,幻想著能巧遇什麼工作機會。事實證明,這類活動都是無效社交居多。工作沒找到,期間倒是有一段終成過客的 Situationship,在另一篇文章裡說了很多,不願再提。 真正再次工作,已經是九月了,並不是一份加拿大的工作,本地的失業率就是地獄級,想找份餐館工都沒機會。並且還遭遇了一些非常不好的事情,即西人公司也開始搞試工那一套,還打算不付工資,Service Canada 幫我打了個電話過去他們立即認慫。 在那之後投了某 base 新加坡的 Top…

  • |

    Into the Tokyo

    今天準備日本簽證材料時,因為自己特殊的學籍身分,不得不以自由職業去申請 VISA,徒增了不少麻煩。 閒暇之餘回想起自己為什麼如此憧憬日本之旅,拋開那些一直接受文化輸出所耳濡目染的影響,站在現實中的日本的角度上來講,不得不提陪我從高一走到大一的一位 up 主——路旁的葉修。 這是我除了姥爺之外第一位關注的正兒八經的 up 主,乃至於後來關注的一系列在日 vlog 博主甚至是一些自己的生活記錄拍攝嘗試,都是直接受他的影響。 其實我向來也是對事不對人,對比一些把 up 主當作 idol 的粉絲來說,我並沒有那麼關注作者本人。相較於「粉絲」這個稱呼,我僅能稱作一個「觀眾」。當初只覺得他拍攝的生活記錄能夠吸引我,我能從視頻中得到諸多感觸,覺得他的作品優秀的話,會使用諸如投幣的方式來表示支持。自然聯想到他好像很久沒有更新時,我隨手點開他的主頁看一看,才發現早在4月19日,他已經留下了自己即將回國的最後一條動態。我也想在轉發或者評論中像其他觀眾一樣說點什麼,但好像也說不完,最終促使了我寫這篇文章。 畢竟和刷時間跨度的諸君一樣,我整個高中,也是在他的視頻陪伴下度過的。高考假時早已定好要去一趟日本,可惜最終因為某些原因沒有去成,於是計劃一直擱淺至今。當時還背負著高考壓力,而又憧憬著畢業假的我,就是這樣看著他路旁的日本,去感受他的生活。 之所以說我不是粉絲,大概是我連把所有期全部看完這項基本操作都沒完成。算下來,他的所有視頻我應該只看了七成左右。 最早只是一個二次元死宅的我,在首頁推送中看見秩父未聞花名的聖地巡禮,當時的我規劃的赴日路綫,就是各種聖地巡禮(這次真正的行程割掉了一大半,大概是真的老了吧),所以對這種視頻尤為感興趣。 美景令人舒心,小哥哥的聲音很蘇,視頻氛圍很好。抑或是自己僅僅因為出場的妹子太多,和彈幕一起吐槽八卦,把它當作學餘的娛樂作品了。基於這些原因,從那個時候就正式入坑了,記得當時產量也很高,平均一兩天就有一期。貼吧裡有人問「修哥的視頻到底是哪一點吸引人」,我也說不出個所以然。只覺得看著慢慢向前走的畫面,配著那首 Guaranteed,心情真是舒暢到了極致。 包括諸多介紹人文的內容,也讓我了解了不少新東西。 後來又跟著 up 主,關注了好多他的朋友,大致是同類型的作品,也許我就僅僅是想看看日本?但其他人的作品又始終覺得少了一環什麼,並沒有讓我如此癡迷。 所以當 up 主在假期回了老家的時候,並非東京,而是南京的記錄,我還是跟著看了。 起初沒想到的是,回南京這部分竟是我共鳴最大的一部分,從而好感到達了巔峰。up 主講起他的童年時,可能大家或多或少都有些共鳴,但當他提到這一塊由於大國企的衰落而變得蕭條時,我瞬間覺得有針扎進了心裡。這和故鄉的情況一模一樣。而我,一度是愛故鄉愛到不可自拔的程度。某些彈幕也表明,他們的經歷是一樣的,原來全國都有這樣的情況。國企的衰落,這也是時代的洪流吧。大概是我主觀地把 up 主認作了「同路人」,自此再也沒拉下過一期。躺在我收藏夾裡面的,還有一期路旁的臺灣,臺中。這應該算得上後期作品了,那個時候 up 主已經是自己有了一家公司。真要讓我回憶起內容,景色什麼的都已經忘光。一直記得的是那位正能量的賣藝人,和兩位同事齊唱《溫柔》,讓五迷的我激動半天。而片尾的那一記擁抱,那一聲「要有夢想啊」,最終讓我決定加入收藏夾,它最終也成為了高三那段日子的重要記憶。 最後再看來,在日本期間留下的多是讓我娛樂的梗一樣的東西。而真正最觸動我的兩次,一次在南京,一次在臺中。我本意確實只是來看看日本生活,但漸漸發現葉修有他獨特的人格魅力,所以當遲到一個多月才看見那條動態時,立刻生起一種惋惜的感覺。 不過整件事的來龍去脈起於日本,也終於日本,Guaranteed 的旋律也伴隨著我心態的次次改變,那就取題 Into the Tokyo,別有趣味 多說無益,點到為止。青山綠水,後會有期。 2020.9.10:剛在 Google Analytics 上發現在過去 90 天內「路旁的葉修」這個 tag 莫名點擊量很高,才得知自殺一事,RIP。

  • |

    加拿大自出版 ISBN 攻略

    我又帶來乾貨了,全網首發,本文發表之前沒有相關中文資訊。估計真正會接觸到自出版領域的人還是比較少。 ISBN 大家不會陌生,即國際標準書號,每本書後面都有。最近給自己 KDP 上已出版的四本書都申請了書號,過程相當順利,直觀體驗了出版自由該是什麼模樣。本攻略重點將放在自出版上,尤其是電子書。 加拿大的 ISBN 是由 Library and Archives Canada (LAC) 管理,免費提供,當然 ISBN 在各國 technically 都該是免費的,包括中國。但實際上,加拿大可能是全世界最慷慨的國家,沒有之一。很多國家名義免費,但政府仍會收一筆較低的行政費用。至於中國,跟出版社打過交道就知道,中國的 ISBN 壟斷在大型機構手上,進行出版有大量審查不說,你如果想透過它們自費出版價格極高,幾乎不可能像在加拿大這樣絲滑自出版一本書。另外美國雖然出版也自由,但 ISBN 由一家叫 Bowker 的私營公司壟斷管理,需要付費,甚至是明碼標價 $125 一個,從這個角度看,加拿大的 ISBN 又何嘗不算一種福利? 首先要前往加拿大 ISBN 政府官網申請帳號,下圖所示的 Publisher information,作為 self-publisher 全部填上自己本人的信息即可,自己的名字即是 Publisher Name,地址同樣填自家住址。職位一欄就作者(Author)、譯者(Translator)之類的即可。不過這樣做你自己的信息就完全進入了政府出版社索引之中,幾乎實名上網,所以英文紅迪上就有人願意以簡單註冊一家公司的方式來規避這個問題。 表單提交後開始等待政府審核,最長 30 個工作日(2026 年 10 月更新:官方現在標示申請積壓,新帳號審核約需兩個月),我就等了一個月以上。期間有可能會觸發人工核驗,ISBN 會發郵件詢問你一些相關問題,以確認你是否真的是合資格的(自)出版商,避免 ISBN 系統遭到濫用。所以你最好已經有一個可供展示的出版結果,像我這樣出版在 KDP 就是其中一個選擇,出版結果在最後一步法定送存中也是必須的,稍後會講到。 我就收到了人工核驗的郵件,基本都是表單問過的問題,但他們想 double check,包括地址一類的證明還需要傳張銀行帳單過去,其實就是一個 KYC 的過程。另外會詢問你的出版物涉及的具體領域,這是原表單沒有的。最後,還需提供一份剛剛提到的出版物樣本以確認出版資質,KDP 即可。 審核通過後,ISBN…

  • |

    INGRESS 戰報 2019 Q2

    完結撒花! 就在剛才終於升了16級,Ingress,卸載!( 總之先鹹下來了,這個當初一股腦決定的「戰報」系列也確實是最後一篇了。以後也許還是會有夜來非感想,那就換個標題以後再說吧。 4月的 IFS 都沒有什麼很深刻的印象了,石排灣公園,第一次見識了廣藍大佬的現場解碼。 4月底的時候出現了 DarkXM 劇情的牌子活動這一個小插曲,連 Link,金牌的要求是 250 KM,這在澳門是很難實現的目標。 當時臨近考試,還是找到一個忙裡偷閒的半日,北上普陀寺開牌子,還順便拿到了澳門藍軍新 logo 的小禮品,多謝那次新會和中山大佬的幫助。 接著我最期待的高雄 XMA 到了,當然和之前預估的一樣,忙於考試,沒辦法參與現場,最終去了中山的充電室。此外當晚還有澳門的 IFS,因為 POC 去了高雄,5月的 IFS 是由我來背鍋的,也是第一次擔此職務。 「Abaddon 高雄場中山充電室 趁今天充電的機會順便把奔三生日提前過了(本想把美好記憶留給高雄現場,可惜考試沒去成哈哈) 感謝中山珠海廣州友軍 之後無縫銜接澳門 IFS 本月大中華區僅此一家(也是我第一次背鍋IFS (畢竟大佬們都去高雄了) 天公不作美反倒是成了最稀荒的一次雨中 IFS,不過開心最重要 最後再次感謝各位~」 不過入台證什麼的都辦好了,怎麼能不去一趟呢!考完我就溜到臺中去了,作為20歲的成人旅行吧,當時是這麼想的。 「今天是台中友軍騎機車載我制霸大肚山,結果發現電影快趕不上了而在市區逆行飆車的硬核 agent寶可夢成功創造新梗,隨後起8poc 指揮,實時關注 log 和抬腳情況,綠軍十分鐘趕過來,分人手守 po,最後只剩一個摸燒了的 po 還能互刷半小時,台灣的起8都是這麼硬核的嗎???我彷彿是在參加台中大戰感謝台中友軍大佬們~~」 五月中去上海交流,交流完之後就是我一個人在周邊城市隨手刷刷刷了。於是19日的傍晚,在西湖邊上達成了 UPV 10000!還造訪了十二年前到過的地方,一點都沒變 。 在之後其實就是最近的事情了,畢竟這也不嚴格算 Q2 的總結,六月才剛剛開始第一個星期,但既然都16了,我是真的想鹹了233,才打算提前這篇 Q2 的總結,也標誌著一個系列的完結。 前不久藍軍贏下了整個 Osiris 系列,北藍發了一篇推送,大家都評論到非常燃。…

Leave a Reply

Your email address will not be published. Required fields are marked *