w3resource

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

Java Basic: Exercise-131 with Solution

Write a Java program to find the new length of a given sorted array where each element appear only once (remove the 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  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++) {
            if (nums[current_pos] != nums[moving_pos]) {
                nums[current_pos + 1] = nums[moving_pos];
                current_pos++;
            }
        }
        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.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Java program to find the maximum depth of a given a binary tree.
Next: Write a Java program to find the new length of a given sorted array where duplicate elements appeared at most twice.

What is the difficulty level of this exercise?



Java: Tips of the Day

Try and catch:

Java is excellent at catching errors, but it can only recover gracefully if you tell it what to do. The cascading hierarchy of attempting to perform an action in Java starts with try, falls back to catch, and ends with finally. Should the try clause fail, then catch is invoked, and in the end, there's always finally to perform some sensible action regardless of the results. Here's an example:

try {
        cmd = parser.parse(opt, args); 
       
        if(cmd.hasOption("help")) {
                HelpFormatter helper = new HelpFormatter();
                helper.printHelp("Hello ", opt);
                System.exit(0);
                }
        else {
                if(cmd.hasOption("shell") || cmd.hasOption("s")) {
                String target = cmd.getOptionValue("tgt");
                } // else
        } // fi
} catch (ParseException err) {
        System.out.println(err);
        System.exit(1);
        } //catch
        finally {
                new Hello().helloWorld(opt);
        } //finally
} //try

It's a robust system that attempts to avoid irrecoverable errors or, at least, to provide you with the option to give useful feedback to the user. Use it often, and your users will thank you!

Ref: https://red.ht/3EZc9OC