LeetCode初级算法:数组--从排序数组中删除重复项

以下是本人的C++算法学习笔记,记录在博客上以供自己随时查阅

题目描述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

我先在VS2017上整体实现该功能,再将关键代码在LeetCode上执行

C++实现如下:

#include
#include
#include
using namespace std;
int removeDuplicates(vector& nums)
{
	int number = 0;
	for (int i = 0; i < nums.size(); i++)
	{
		if (nums[i] != nums[number])
		{
			number++;
			nums[number] = nums[i];
		}

	}
	number += 1;
	return number;
}

int main()
{
	int a[10] = { 1,1,2,3,4,4,5,5,5,6 };
	vectornums(a, a + 10);
	int len = removeDuplicates(nums);//输出新的数组的长度
	cout << len << endl;

	system("pause");
	return 0;
}

 

你可能感兴趣的:(C++学习笔记)