← All problems

1346. Check If N and Its Double Exist

EasyOpen on LeetCodeProblem statement

Problem Statement

1346. Check If N and Its Double Exist

Easy


Given an array arr of integers, check if there exist two indices i and j such that :

 

Example 1:

Input: arr = [10,2,5,3]
Output: true
Explanation: For i = 0 and j = 2, arr[i] == 10 == 2 * 5 == 2 * arr[j]

Example 2:

Input: arr = [3,1,7,11]
Output: false
Explanation: There is no i and j that satisfy the conditions.

 

Constraints:

Java

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