### Selection Sort Algorithm

It is one of a simple algorithm to study for a beginner to understanding sorting…

August 26, 2020

Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length.

Note:

- We have to return the new length
- And, modify the array also

**Constraint**

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

```
# Example 1
Given nums = [1,1,2],
Output = 2
# Example 2
Given nums = [0,0,1,1,1,2,2,3,3,4],
Output = 5
```

First think out loud about the problem.

- Its a sorted array,
- And, which means a number which is repeating would occur later after another number.

Lets look at the code

```
public int removeDuplicates(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int num = nums[0];
int j=1;
for (int i=1; i<nums.length; i++) {
if (num != nums[i]) {
num = nums[i];
nums[j] = nums[i];
j ++;
}
}
return j;
}
```

**Steps**

- We can begin with first index value, save it in a variable.
- We can keep another variable for storing our index
`j`

, which will point to index upto which our array is unique. - This index variable will increment after finding a unique value only.
- And, we need to copy that unique value to our array as well.

```
Runtime: 0 ms, faster than 100.00% of Java online submissions for Remove Duplicates from Sorted Array.
Memory Usage: 41.1 MB, less than 87.80% of Java online submissions for Remove Duplicates from Sorted Array.
```

```
public int removeDuplicates2(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int j=1;
for (int i=1; i<nums.length; i++) {
if (nums[j-1]!= nums[i]) {
nums[j]= nums[i];
j ++;
}
}
return j;
}
```

It is one of a simple algorithm to study for a beginner to understanding sorting…

Problem Statement Replace all spaces in a string with ‘%20’ (three characters…

Young Tableau A a X b matrix is Young Tableau if all rows(from left to right…

This is another very useful sorting algorithm based on Heap data structure. Read…

Introduction You are given an array of integers with size N, and a number K…

Problem Statement Given an array nums of n integers and an integer target, find…

In this post, we will see some of the frequently used concepts/vocabulary in…

System design interview is pretty common these days, specially if you are having…

Introduction You are given an array of integers with size N, and a number K…

Graph Topological Sorting This is a well known problem in graph world…

Problem Statement Given a Binary tree, print out nodes in level order traversal…

Problem Statement Given an array nums of n integers and an integer target, are…