zoukankan      html  css  js  c++  java
  • Single Number i,ii,iii

    136. Single Number

    Given an array of integers, every element appears twice except for one. Find that single one.

    Bit: a ^ a = 0;

    public class Solution {
        public int singleNumber(int[] nums) {
            int res = 0;
            for(int n : nums){
                res ^= n;
            }
            return res;
        }
    }

    137. Single Number II

    public class Solution {
        public int singleNumber(int[] nums) {
            HashMap<Integer, Integer> map = new HashMap<>();
            for(int i = 0 ; i < nums.length ; i++){
                map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
            }
            for(Map.Entry<Integer, Integer> entry : map.entrySet()){
                if(entry.getValue() == 1)
                    return entry.getKey();
            }
            return 0;
        }
    }

    260. Single Number III

    Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.

    For example:

    Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].

    public class Solution {
        public int[] singleNumber(int[] nums) {
            Set<Integer> set = new HashSet<>();
            for(int n: nums){
                if(!set.add(n)){
                    set.remove(n);
                }
            }
            Iterator<Integer> it = set.iterator();
            int[] res = new int[2];
            int start = 0;
            while(it.hasNext() && start < res.length){
                res[start] = it.next();
                start++;
            }
            return res;
        }
    }

    二刷可以研究bit做法

  • 相关阅读:
    配置JAVA环境
    Sun Java认证
    JAVA中去掉空格
    2011年百度新闻热搜榜十大互联网人物
    23 设计模式
    HTML编辑器FCKeditor使用详解 [转]
    Linux 系统目录结构
    DotNet程序员是不是最不幸福?
    VS2005(c#)项目调试问题解决方案集锦 转
    详细介绍有关于.NET的委托
  • 原文地址:https://www.cnblogs.com/joannacode/p/6121399.html
Copyright © 2011-2022 走看看