```
class Solution {
public:
int removeElement(int A[], int n, int elem) {
int i=0;
int j=n-1;
while(i<=j){
if(A[i]==elem&&A[j]!=elem){
A[i]=A[j];
i++;j--;
}
if(A[i]==elem&&A[j]==elem){
j--;
}
if(A[i]!=elem){
i++;
}
}
return j+1;
}
};
```