【LeetCode笔记】448. 找到所有不存在的数(Java、原地)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】448. 找到所有不存在的数(Java、原地)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 題目描述
- 思路 & 代碼
題目描述
- 說(shuō)實(shí)話,第一眼看題讓我想到那道“往1 ~ 1024中加入一個(gè)數(shù),用中學(xué)生也會(huì)的方法找到這個(gè)數(shù)"(答案是 (1024! + x) - 1024! )
- 如果沒(méi)有時(shí)空復(fù)雜度限制的話,用哈希表可以直接做
思路 & 代碼
- 首先找到題目關(guān)鍵詞:1 <= a[i] <= n,n為a[ ]的長(zhǎng)度。至于“一些出現(xiàn)兩次、一些出現(xiàn)一次”這個(gè)倒是不太重要(或者說(shuō)有Dalao也利用了這個(gè)條件)
- 那么,我們只需要達(dá)到這樣一個(gè)效果即可:遍歷a[i],對(duì)于出現(xiàn)過(guò)的a[i]值,把對(duì)應(yīng)的下標(biāo)存儲(chǔ)的值變成一個(gè)**”不在[1, n]內(nèi),并且可以變回原值的值“**即可。
- 有兩個(gè)方法:取負(fù)、加n。加n會(huì)快一點(diǎn)
- 無(wú)注釋版
總結(jié)
以上是生活随笔為你收集整理的【LeetCode笔记】448. 找到所有不存在的数(Java、原地)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python字典会自动排序_python
- 下一篇: 【LeetCode笔记】41. 缺失的第