删除排序数组中的重复元素
- leetCode 26:Remove Duplicates from Sorted Array 给定升序数组array,删除重复元素,并返回新的长度len;使得前len个数字升序, 并且不得含有重复数字;后面的数字是什么,无所谓。
![这里写图片描述](https://img-blog.csdn.net/20170113162142405?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVsbG90b21oYWhh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
代码
#include <stdio.h>
#include <vector>
using namespace std;
int remove1(vector<int> &nums){
int s = nums.size();
if (s==0||s==1)
return s;
int len = 1;
int temp = nums[0];
for (int i=1; i<s; i++) {
if (nums[i]==temp) {
continue;
}
else{
nums[len++] = nums[i];
temp = nums[i];
}
}
for (int i=0; i<s; i++) {
printf("%d ", nums[i]);
}
return len;
}
int main() {
int a[] = {1,2,3,3,3,4};
vector<int> array(a,a+6);
printf("%d\n", remove1(array));
return 0;
}
思路及执行过程
![这里写图片描述](https://img-blog.csdn.net/20170113172713028?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVsbG90b21oYWhh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)