Skip to main content

Missing Number in Array

EasyAccuracy: 29.59%Submissions: 1MPoints: 2

Internship Alert!
Become an SDE Intern by topping this monthly leaderboard! 

banner

Given an array of size N-1 such that it only contains distinct integers in the range of 1 to N. Find the missing element.

Example 1:

Input:
N = 5
A[] = {1,2,3,5}
Output: 4

Example 2:

Input:
N = 10
A[] = {6,1,2,8,3,4,7,10,5} 

Output: 9 




Ans: 


1)I'm trying to solve this problem using 2 for loops

2) Time complexity will be O(N);

3) ham kya karenge phle sare element ko sort kar denge

4) sort krne ke bad saare element ka sum ek sum1 variable me store kar lenge

5) ek loop lagayenge jo ki 1 se n ke barabar tak chalega aur 1 ke n ke barabar tak ke count ka sum, sum2 variable me store kar dega.

6) sum2 se sum1 ko minus kar denge then this will differ of array means missing element of array.




class Solution {

    int missingNumber(int array[], int n) {

        // Your Code Here

        

        Arrays.sort(array);

               int sum1 = 0;

        int sum2 = 0;

        

        for (int i = 0; i < array.length; i++) {

            sum1 += array[i];

        }

      

        for(int i = 1; i <= n; i++) {

            sum2 += i;

        }

        

        return sum2 - sum1;

    }

}





another approach is using single loop>>



let suppose n is 6

Example array: 1  2   3  4  6 but here u can se 5 is missing and n is 6 means I want to store 6 elements in array but 5 is missing 


now first I will store all elements sum in sum1 variable = 1+2+3+4+6 = 16

Now lets find differ by using this formula sum of n nature n(n+1)/2

sum2 = n(n+1)/2;

          




After this formula total sum2 will be 21


then will take another variable missingNumber 

int missingNumber =  sum2-sum1;

then missingNumber will be 5 ;

Arrays.sort(array);

        int sum1 = 0;

        for(int i = 0 ;i < array.length; i++){

            

            sum1= sum1+array[i];

        }

        

       int sum2 = n*(n+1)/2;

        

        int result = sum2-sum1;

        return result;

    }

}




AnotherApproach ----


Leet Code Problem : https://leetcode.com/problems/missing-number/submissions/1182920023/


        int n=nums.length;
        int sum=(n*(n+1))/2;
        int arr=0;
        for(int i=0;i<n;i++)
        {
            arr=arr+nums[i];
        }
        return sum-arr;
    }
}



Comments

Popular posts from this blog

Block vs Inline Elements In HTML

  Block: Block element always start in New Line  Block element always start in new line occupy complete width available  Example: h2, p, div Inline Element: They do not start in new line occuply width as much required  Example: img, anchor a,span There are no different between div and span, only difference is div is block element and span is Inline, it will help you to group your content or elements

Time Complexity

What is time complexity ? Ans: Time complexity not a run time of a code, its totally depends on system configuration, processor, server , input size will increase time complexity. Time complexity ko likhne ke tarike jo hote hai use notation kehte hai. Notation is basically symbol NOTATION OF COMPLEXITY Best Case: kam se kam time me chla gya code best case hota hai Ω (Omega) Ω(1) se likhte hai Average Case: Ek average time jisme code chle  Θ(n+1)/2 Worst Case: Worst case ka mtlb kuch bhi ho jaye is time ko ye exceed nhi kregea O(n) Nested Loop me Time Complexity multiply hoti hai aur n^2 banti hai Wahi Do different loops me N+M hoti hai jisme jiski sabse bdi value hai wo big of O me jati hai O(1) - Constant Time: Operations that take a constant amount of time, regardless of the size of the input data. O(log n) - Logarithmic Time: Algorithms that have a logarithmic time complexity, often seen in binary search or certain tree-based algorithms. This is best time Complexity this i...

Find Unique Number in Array Java , XOR

 Question:  WAP to find unique number in Array Java package aRray ; import java . util .*; public class practicalArray { public static void main ( String [] args ) { Scanner scan = new Scanner ( System . in ) ; // Step 1: Input size of the array from the user int size = scan . nextInt () ; // Step 2: Create an integer array of the specified size int [] arr = new int [ size ] ; // Step 3: Initialize 'res' with the first element of the array int res = arr [ 0 ] ; // Step 4: Loop to read array elements and find the unique number for ( int i = 1 ; i < size ; i ++ ) { // Read an integer from the user and store it in the array arr [ i ] = scan . nextInt () ; // Step 5: Use XOR (^) operation to find the unique number res = res ^ arr [ i ] ; } // Step 6: Print the unique number System . out . print...