Given a sorted array, remove the duplicates in place such that eachelement appear only once and return the new length.
Do not allocate extra space for another array, you must do this in placewith constant memory.
For example,
Given input array A = [1,1,2],
Your function should return length = 2, and A is now [1,2].
HideTags
#pragma once #include<iostream> using namespace std; int removeDuplicates(int A[], int n) { if (n == 1) return n; if (n == 0) return NULL; int p = 0; int pp = 0; int count = 1;//记录不同元素个数,A[0]位置不会在一下被检测出来,所以预置1 while (pp < n) { if (A[pp] != A[p]) { A[++p] = A[pp]; count++; } pp++; } return count; } void main() { system("pause"); }
时间: 2024-10-16 11:36:25