w3resource

Java: Find the new length of a given sorted array where each element appear only once


Remove Duplicates in Sorted Array

Write a Java program to find the updated length of a sorted array where each element appears only once (remove duplicates).

Pictorial Presentation:

Java Basic Exercises: Find the new length of a given sorted array  where each element appear only once.


Sample Solution:

Java Code:

import java.util.Arrays;

class Solution {
    // Static method to remove duplicates from the given array
    static int removeDuplicates(int[] nums) {
        if (nums == null) {
            return 0;
        }
        if (nums.length <= 1) {
            return nums.length;
        }
        int current_pos = 0;
        int moving_pos;
        for (moving_pos = 1; moving_pos < nums.length; moving_pos++) {
            // Check if the current element is different from the next element
            if (nums[current_pos] != nums[moving_pos]) {
                // If different, move the unique element to the next position in the array
                nums[current_pos + 1] = nums[moving_pos];
                current_pos++; // Increment the position for the unique element
            }
        }
        // The new length of the array is one more than the current position
        return current_pos + 1;
    }

    /* Driver program to test above functions */
    public static void main(String[] args) {
        int[] nums = {1, 1, 2, 3, 3, 3, 4, 5, 6, 7, 7};
        System.out.println("Original array: " + Arrays.toString(nums));
        System.out.println("The length of the original array is: " + nums.length);
        System.out.println("After removing duplicates, the new length of the array is: " + removeDuplicates(nums));
    }
}

Sample Output:

Original array: [1, 1, 2, 3, 3, 3, 4, 5, 6, 7, 7]
The length of the original array is: 11
After removing duplicates, the new length of the array is: 7 

Flowchart:

Flowchart: Java exercises: Calculate the median of unsorted array of integers, find the median of it.


For more Practice: Solve these Related Problems:

  • Modify the program to remove duplicates from an unsorted array.
  • Write a program to remove duplicates and shift elements.
  • Modify the program to return unique elements in a separate list.
  • Write a program to remove duplicate elements in-place.

Go to:


PREV : Max Depth of Binary Tree.
NEXT : Remove Duplicates (At Most Twice).


Java Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.