#include<vector>
#include<iostream>
using namespace std;
void moveZeros(vector<int>&v){
int last=0;
auto sz=v.size();
for(int i=0;i!=sz;++i){
if(v[i]!=0)swap(v[i],v[last++]);
}
}
int removeElement(vector<int>&nums,int val){
int last=0;
auto sz=nums.size();
for(int i=0;i!=sz;++i){
if(val!=nums[i])
nums[last++]=nums[i];
}
return last;
}
int main(){
vector<int>v{1,0,1,0,4,5,0};
// moveZeros(v);
auto n=removeElement(v,0);
cout<<n<<endl;
for(auto i:v)
cout<<i<<",";
cout<<endl;
return 0;
}
80. Remove Duplicates from Sorted Array II
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int i=0;
for(auto val:nums){
if(i<2 || val>nums[i-2])
nums[i++]=val;
}
return i;
}
};