Check If N and Its Double Exist in an array - The Coding Shala

Home >> Programming Questions >> N and its double

Check if N and its Double Exist in an array

In this post, we will learn how to check if N and its double exist in an array and will implement its solution in Java.

Given an array arr of integers, check if there exist two integers N and M such that N is the double of M ( i.e. N = 2 * M).
More formally check if there exists two indices i and j such that:
i != jk
0 <= i, j < arr.length
arr[i] == 2 * arr[j]

Example 1:
Input: arr = [10,2,5,3]
Output: true
Explanation: N = 10 is the double of M = 5,that is, 10 = 2 * 5.

Example 2:
Input: arr = [7,1,14,11]
Output: true
Explanation: N = 14 is the double of M = 7,that is, 14 = 2 * 7.

Example 3:
Input: arr = [3,1,7,11]
Output: false
Explanation: In this case does not exist N and M, such that N = 2 * M.

Check N and its double exist Solution

Approach:
We can check this using HashSet.
Check every number's double and if its divisible by two then check its half in the set.

Java Program: 

class Solution {
    public boolean checkIfExist(int[] arr) {
        HashSet<Integer> seen = new HashSet<>();
        for(int i : arr){
            if(seen.contains(i*2) || (i%2==0 && seen.contains(i/2))){
                return true;
            }
            seen.add(i);
        }
        return false;
    }
}


Other Posts You May Like
Please leave a comment below if you like this post or found some error, it will help me to improve my content.

Comments

Popular Posts from this Blog

Shell Script to find sum, product and average of given numbers - The Coding Shala

Shell Script to Create a Simple Calculator - The Coding Shala

Add two numbers in Scala - The Coding Shala

New Year Chaos Solution - The Coding Shala

Richest Customer Wealth LeetCode Solution - The Coding Shala