Appearance
1346. 检查整数及其两倍数是否存在
题目描述
给你一个整数数组 arr,请你检查是否存在两个整数 N 和 M,满足 N 是 M 的两倍(即,N = 2 * M)。
更正式地,检查是否存在两个下标 i 和 j 满足:
i != j0 <= i, j < arr.lengtharr[i]` == 2 * `arr[j]
示例 1:
= 10
示例 2:
= 14
示例 3:
- 输入: arr =
[3,1,7,11] - 输出: false
- 解释: 在该情况下不存在 N 和 M 满足 N = 2 * M 。
提示:
2 <= arr.length <= 500-10^3 <=arr[i]<= 10^3
难度: Easy
题解代码
javascript
/**
* @param {number[]} arr
* @return {boolean}
*/
var checkIfExist = function(arr) {
const hash = {}
for (let i = 0; i < arr.length; i++) {
if (arr[i] in hash) return true
hash[arr[i] * 2] = 1
if (!(arr[i] % 2)) {
hash[arr[i] / 2] = 1
}
}
return false
};