LeetCode-448-找到所有數(shù)組中消失的數(shù)字

題目描述:給你一個(gè)含 n 個(gè)整數(shù)的數(shù)組 nums ,其中 nums[i] 在區(qū)間 [1, n] 內(nèi)。請(qǐng)你找出所有在 [1, n] 范圍內(nèi)但沒有出現(xiàn)在 nums 中的數(shù)字,并以數(shù)組的形式返回結(jié)果。
示例說明請(qǐng)見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
首先,將1~n的數(shù)字初始化到hashSet里,然后判斷原數(shù)組nums的元素如果在hashSset里面,則移除,最后剩下的就是在 [1, n] 范圍內(nèi)但沒有出現(xiàn)在 nums 中的數(shù)字。
解法二:原地算法
首先,遍歷原數(shù)組,將相應(yīng)位置的元素對(duì)應(yīng)的索引位置的值標(biāo)記為負(fù)數(shù),最后,再遍歷一次數(shù)組,把非負(fù)數(shù)挑出來即為在 [1, n] 范圍內(nèi)但沒有出現(xiàn)在 nums 中的數(shù)字
【每日寄語】 為人貴在“實(shí)”,工作貴在“?!保瑢W(xué)習(xí)貴在“恒”。
標(biāo)簽: