zoukankan      html  css  js  c++  java
  • 1346. Check If N and Its Double Exist

    Given an array arr of integers, check if there exists 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 != j
    • 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.
    

    Constraints:

    • 2 <= arr.length <= 500
    • -10^3 <= arr[i] <= 10^3
    class Solution {
        public boolean checkIfExist(int[] arr) {
            Map<Integer, Integer> map = new HashMap();
            int zero = 0;
            for(int i = 0; i < arr.length; i++){
                map.putIfAbsent(arr[i], i);
                if(arr[i] == 0) zero++;
            }
            for(int i: arr){
                if(zero == 2) return true;
                else{
                    map.remove(0);
                    if(map.containsKey(2*i)) return true;
                }
            }
            return false;
        }
    }

    0很特殊,如果用hashmap的话要注意判断0的数量,如果是两个就是true,一个的话要先remove了0再做判断。

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

    相比而言hashset更好

  • 相关阅读:
    Begin Again
    hadoop集群启动start-dfs.sh有节点datanode启动不了问题
    centos中python更新后yum不可用问题
    浏览器无法访问hdfs界面问题
    数据的统计分析与描述
    插值与拟合
    层次分析法
    四种规划-数学建模
    Hive深入使用
    Hadoop-Hive
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/12325027.html
Copyright © 2011-2022 走看看