SingleNumber的解决

single-number

http://www.nowcoder.com/questionTerminal/0bc646909e474ac5b031ec6836a47768

singleNumber编程题

我没有想到异或的方式,主要思想是遍历数组的同时对数字进行计数,这里使用hasmap来计数,如果map中没有这个数字则加入map且置为1,否则将获得的值加一继续put进去
遍历完找到数量为一的数字即可。

代码如下

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class Solution {
    public int singleNumber(int[] A) {
        int result = 0;
        Map<Integer,Integer> map = new HashMap<Integer,Integer>();
        for(int i = 0; i < A.length; i++){
            if(map.get(A[i]) == null){
                map.put(A[i],1);
            }else {
                map.put(A[i], map.get(A[i])+ 1);
            }
        }
        for(Entry <Integer, Integer> entry: map.entrySet()){
            if(entry.getValue() == 1){
                result = entry.getKey();
                break;
            }
        }
        return result;
    }
}
全部评论
楼主,题目写了不能用额外空间
点赞 回复 分享
发布于 2020-08-19 13:18

相关推荐

积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
评论
7
1
分享

创作者周榜

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