1468. Check If N And Its Double Exist¶
Difficulty: Easy
LeetCode Problem View on GitHub
1468. 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 :
i != j0 <= i, j < arr.lengtharr[i] == 2 * arr[j]
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:
2 <= arr.length <= 500-103 <= arr[i] <= 103
Solution¶
class Solution {
public boolean checkIfExist(int[] arr) {
int n = arr.length;
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < n; i++) {
int current = arr[i];
if (map.containsKey(current * 2)) return true;
if (current % 2 == 0 && map.containsKey(current / 2)) return true;
map.put(current, i);
}
return false;
}
}
Complexity Analysis¶
- Time Complexity:
O(?) - Space Complexity:
O(?)
Approach¶
Detailed explanation of the approach will be added here