Skip to content
This repository has been archived by the owner on Oct 14, 2021. It is now read-only.

Remove Duplicates from Sorted Array [C++-Solution required] #467

Open
aditya109 opened this issue Oct 3, 2021 · 9 comments
Open

Remove Duplicates from Sorted Array [C++-Solution required] #467

aditya109 opened this issue Oct 3, 2021 · 9 comments
Assignees

Comments

@aditya109
Copy link
Owner

Given an integer array nums sorted in non-decreasing order, remove the duplicates in-place such that each unique element appears only once. The relative order of the elements should be kept the same.

Since it is impossible to change the length of the array in some languages, you must instead have the result be placed in the first part of the array nums. More formally, if there are k elements after removing the duplicates, then the first k elements of nums should hold the final result. It does not matter what you leave beyond the first k elements.

Return k after placing the final result in the first k slots of nums.

Do not allocate extra space for another array. You must do this by modifying the input array in-place with O(1) extra memory.

Custom Judge:

The judge will test your solution with the following code:

int[] nums = [...]; // Input array
int[] expectedNums = [...]; // The expected answer with correct length

int k = removeDuplicates(nums); // Calls your implementation

assert k == expectedNums.length;
for (int i = 0; i < k; i++) {
    assert nums[i] == expectedNums[i];
}

If all assertions pass, then your solution will be accepted.

Example 1:

Input: nums = [1,1,2]
Output: 2, nums = [1,2,_]
Explanation: Your function should return k = 2, with the first two elements of nums being 1 and 2 respectively.
It does not matter what you leave beyond the returned k (hence they are underscores).

Example 2:

Input: nums = [0,0,1,1,1,2,2,3,3,4]
Output: 5, nums = [0,1,2,3,4,_,_,_,_,_]
Explanation: Your function should return k = 5, with the first five elements of nums being 0, 1, 2, 3, and 4 respectively.
It does not matter what you leave beyond the returned k (hence they are underscores).

Constraints:

  • 0 <= nums.length <= 3 * 104
  • -100 <= nums[i] <= 100
  • nums is sorted in non-decreasing order.
@Mayankjha997
Copy link

Hello @aditya109 ;
I want to contribute in C++, please assign this issue to me.

@AyushKoul00
Copy link

AyushKoul00 commented Oct 4, 2021

I would like to write the c++ solution. Please Assign this issue to me
I will write solutions with both using STL and without using STL with plenty of comments to understand

@Amdbase1
Copy link

Amdbase1 commented Oct 4, 2021

@aditya109 Hi, I would like to contribute to this, Please assign this issue to me.

@aditya109
Copy link
Owner Author

Hi @Mayankjha997 ! I have assigned this issue to you. Before raising a PR, please take a look at CONTRIBUTING.md and follow the guidelines. Also, if it is not too much to ask, please consider starring ⭐ the repository. It helps boost the repo popularity and guide more people towards active contribution. That is all. Happy hacking !

@aditya109
Copy link
Owner Author

Hi @AyushKoul00 @Amdbase1 ! You can still raise PR for this issue. Just adhere to CONTRIBUTING.md and do your changes.
Your PR will be reviewed and merged if you'd have done everything correctly. Happy hacking !

@aditya109
Copy link
Owner Author

As it has been 8 days and no response from the previous assignee, hence clearing the assignee @Mayankjha997 ! 💔

@AyushKoul00
Copy link

I am not sure where to write the PR. So I will just put my code here:

//Own implementation
int removeDuplicates(vector<int> &a)
{
	int count = 0;
	for (int i = 1; i < (int)a.size(); i++)
	{
		if (a[i] == a[i - 1])
			count++;
		else
			a[i - count] = a[i];
	}
	return a.size() - count;
}

//using STL
int removeDuplicates(vector<int> &a)
{
	a.resize(unique(a.begin(), a.end()) - a.begin());
	return a.size();
}

@aditya109
Copy link
Owner Author

Hi @AyushKoul00 ! You can't leave your code here. Please take a look at CONTRIBUTING.md and follow the guidelines. Also, if it is not too much to ask, please consider starring the repository. It helps boost the repo popularity and guide more people towards active contribution. That is all. Happy hacking !

@aditya109
Copy link
Owner Author

Also, if you need more help please raise your concern in discussions so that any one of the contributors reach out to you. https://github.com/aditya109/git-osp-for-beginners/discussions/categories/general

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants