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();
}
};
輕輕鬆鬆搞定
沒有留言 :
張貼留言