Do not allocate extra space for another array, you must do this in place with constant memory.
For example,
Given input array nums =
[1,1,2]
,
Your function should return length =
2
, with the first two elements of nums being 1
and 2
respectively. It doesn't matter what you leave beyond the new length.解法
其實這一題就是將array中重複的元素給排除掉。 在C++11的algorithm當中有一個unique的邏輯判斷剛好可以利用
程式碼如下 :
class Solution { public: int removeDuplicates(vector<int>& nums) { auto last = std::unique(nums.begin(), nums.end()); nums.erase(last, nums.end()); return nums.size(); } };
輕輕鬆鬆搞定
沒有留言 :
張貼留言