100 刪除排序陣列中的重複數字

2022-08-11 05:15:14 字數 830 閱讀 6239

給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。

不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。

樣例給出陣列a =[1,1,2],你的函式應該返回長度2,此時a=[1,2]

這種簡單難度的題要訓練到第一時間想到解法,先上乙個醜的不行的解法

1

int removeduplicates(vector &nums)

6 vector::iterator it=nums.begin();

7 vector::iterator temp;

8 it++;

9int mark=nums[0

];10

while(it!=nums.end())

15else19}

20return

nums.size();

21 }

兩個指標一前一後,如果後和前一樣,刪除後,並將後向後移一位。

至少上面這種要第乙個想到,下面貼乙個美觀的

1

int removeduplicates(vector &nums)

9}

10 nums.resize(count+1

);

11return count+1

; 12 }

count+1內的陣列是結果,將》=count的數覆蓋進count,然後刪除多餘的。

100 刪除排序陣列中的重複數字

容易 刪除排序陣列中的重複數字 檢視執行結果 32 通過 給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。您在真實的面試中是否遇到過這個題?yes 樣例給出陣列a 1,1,2 你的函式應該返回...

100 刪除排序陣列中的重複數字

5.2 題目要求是不許使用額外的空間。所以這樣寫就是錯誤的了 nums arrays.copyof nums,nums.length 1 這是建立了新的陣列。直接標記length 的長度就可以了。這個題是不需要重新維護陣列的。public class solution int i 0 for i 0...

100 刪除排序陣列中的重複數字

原題 給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。您在真實的面試中是否遇到過這個題?yes樣例給出陣列a 1,1,2 你的函式應該返回長度2,此時a 1,2 標籤 兩根指標 陣列臉書 bl...