HashMap做法

数组中只出现一次的两个数字

http://www.nowcoder.com/questionTerminal/389fc1c3d3be4479a154f63f495abff8

HashMap做法,时间复杂度O(n)

public int[] FindNumsAppearOnce (int[] array) {

    HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
    int[] res = new int[2];
    int count = 0;
    for(int i=0;i<array.length;i++){
        if(map.get(array[i])!=null){
            map.put(array[i],map.get(array[i])+1);
        }
        else{
            map.put(array[i],1);
        }
    }
    for(int i:map.keySet()){
        if(map.get(i)==1){
            res[count] = i;
            count++;
        }
    }
    return res;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务