解題思路: 這題題目出得很容易讓人誤會啊= =,返回的是int,其實判定的是array,但因為array是用reference 傳進來的,所以直接修改即可, 方法就是利用兩個變數,一個沿array走,如果遇到和前面不重複的,則把另一個變數加一,並做取代,因為第一個變數走的至少會和第二個變數一樣快,所以此算法成立
C++ code:
class Solution { public: int removeDuplicates(vector<int>& nums) { int len=nums.size(); if(len==0) return 0; int count=1; for(int i=1;i<len;i++) { if(nums[i]!=nums[i-1]) { nums[count]=nums[i]; count++; } } return count; } };
沒有留言:
張貼留言