Find Missing Element

 avatar
JohnWickkk
java
2 months ago
1.2 kB
10
Indexable
// Online Java Compiler
// Use this editor to write, compile and run your Java code online

class Main {
    
    public static int sum(int[] arr){
        int sum=0;
        for(int n: arr) sum+=n;
        return sum;
    } 
    
    //find duplicate item from a sorted arr
    public static int duplicate(int[] arr){
        for(int i = 0; i<arr.length-1; i++){
            if(arr[i]==arr[i+1]){
                return arr[i];
            }
        }
        return 0;
    }
    
    //find duplicate item (O(n)) without sorted arr
    public static int duplicate2(int[] arr){
        
        for(int i =0; i< arr.length; i++){
            int index = Math.abs(arr[i])-1;
            if(arr[index]<0)return Math.abs(arr[index]);
            else arr[index]= -arr[index];
        }
        return 0;
    }
    
    public static void main(String[] args) {
        int[] arr = {1,2,2,3,4,6,7};
        int n = 7;
        int expectedSum = n*(n+1)/2;
        int sum = sum(arr);
        int duplicate = duplicate2(arr);
        
        int missingNumber = expectedSum - (sum-duplicate);
        
        System.out.println(missingNumber);
        
    }
}
Editor is loading...
Leave a Comment