給定一個(gè)排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個(gè)元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。
不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。
示例?1:
給定數(shù)組nums=[1,1,2], 函數(shù)應(yīng)該返回新的長度2, 并且原數(shù)組nums 的前兩個(gè)元素被修改為1,2。 你不需要考慮數(shù)組中超出新長度后面的元素。
示例?2:
給定 nums =[0,0,1,1,1,2,2,3,3,4],函數(shù)應(yīng)該返回新的長度5, 并且原數(shù)組nums 的前五個(gè)元素被修改為0,1,2,3,4。你不需要考慮數(shù)組中超出新長度后面的元素。
說明:
為什么返回?cái)?shù)值是整數(shù),但輸出的答案是數(shù)組呢?
請注意,輸入數(shù)組是以“引用”方式傳遞的,這意味著在函數(shù)里修改輸入數(shù)組對于調(diào)用者是可見的。
這道題挺簡單的:關(guān)鍵點(diǎn)在于 返回的結(jié)果只需要返回新數(shù)組的長度就可以了,換句話說是 統(tǒng)計(jì)出數(shù)組里面有多少個(gè)不同的元素。

但是它說不要使用新的數(shù)組空間,所以只能在原來的數(shù)組上操作,還有一句話需要理解的是:你不需要考慮數(shù)組中超出新長度后面的元素。所以這道題就可以先排成有序數(shù)組,再遍歷數(shù)組的時(shí)候直接把不同于上一個(gè)值的元素直接賦值給當(dāng)前的下標(biāo),然后再加一個(gè)計(jì)數(shù)器就行了。

題目來源:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/description/