w3resource
Java Programming Exercies

Java Exercises: Find the new length of a given sorted array

Java Basic: Exercise-132 with Solution

Write a Java program to find the new length of a given sorted array where duplicate elements appeared at most twice.

Pictorial Presentation:

Java Basic Exercises: Find the new length of a given sorted array.

Sample Solution:

Java Code:

import java.util.Arrays;

class Solution {
    static int remove_Duplicates_twice(int[] nums) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        
        int index = 1;
        for (int i = 2; i < nums.length; i++) {
            if (nums[i] != nums[index] || (nums[i] == nums[index] && nums[i] != nums[index - 1])) {
                index++;
                nums[index] = nums[i];
            }
        }
        return index + 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,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: " + remove_Duplicates_twice(nums));
    }
 }

Sample Output:

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

Flowchart:

Flowchart: Java exercises: Find the new length of a given sorted array.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Java program to find the new length of a given sorted array where each element appear only once (remove the duplicates ).
Next: Write a Java program to find a path from top left to bottom in right direction which minimizes the sum of all numbers along its path.

What is the difficulty level of this exercise?



New Content: Composer: Dependency manager for PHP, R Programming