天天看點

leetcode刷題筆記 26.删除有序數組中的重複項【簡單】

int removeDuplicates(vector<int>& nums) {
	int new_len = 0;
	if (nums.size() == 0) {
		return 0;
	}
	for (int i = 0; i < nums.size(); i++) {
		if (nums[new_len] != nums[i]) {
			new_len++;
			nums[new_len] = nums[i];
		}
	}
	return new_len + 1;
}
           

ps:也可以直接儲存目前數值,避免反複查找數組,進而提高速度

int removeDuplicates(vector<int>& nums) {
	int new_len = 0;
	if (nums.size() == 0) {
		return 0;
	}
	int cur = nums[new_len];
	for (int i = 0; i < nums.size(); i++) {
		if (cur != nums[i]) {
			new_len++;
			cur = nums[i];
			nums[new_len] = cur;

		}
	}
	return new_len + 1;
}