phpcms v9网站性能优化,山西小程序开发公司,免费无版权图片网站,it服务1346. 检查整数及其两倍数是否存在
1346. 检查整数及其两倍数是否存在 给你一个整数数组 arr#xff0c;请你检查是否存在两个整数 N 和 M#xff0c;满足 N 是 M 的两倍#xff08;即#xff0c;N 2 * M#xff09;。
更正式地#xff0c;检查是否存在两个下标 i 和 …1346. 检查整数及其两倍数是否存在
1346. 检查整数及其两倍数是否存在 给你一个整数数组 arr请你检查是否存在两个整数 N 和 M满足 N 是 M 的两倍即N 2 * M。
更正式地检查是否存在两个下标 i 和 j 满足
i ! j 0 i, j arr.length arr[i] 2 * arr[j]
示例 1
输入arr [10,2,5,3] 输出true 解释N 10 是 M 5 的两倍即 10 2 * 5 。 示例 2
输入arr [7,1,14,11] 输出true 解释N 14 是 M 7 的两倍即 14 2 * 7 。 示例 3
输入arr [3,1,7,11] 输出false 解释在该情况下不存在 N 和 M 满足 N 2 * M 。
提示
2 arr.length 500 -10^3 arr[i] 10^3 考虑0的情况 Code
func checkIfExist(arr []int) bool {tmp : map[int]int{}for _, v : range arr {if tmp[v*2] 1 || (v 1 0 tmp[v/2] 1) {return true}tmp[v] 1}return false
}me
func checkIfExist(arr []int) bool {if len(arr) 0 {return false}doubleMap : make(map[int]int)for i:0; ilen(arr); i {doubleMap[arr[i]]}if doubleMap[0] % 2 0 doubleMap[0] ! 0 {return true}for i:0; ilen(arr); i {if arr[i] ! 0 {if _, ok : doubleMap[2 * arr[i]]; ok {return true}}}return false
}