zoukankan      html  css  js  c++  java
  • leetcode-136-只出现一次的数字

    问题:

    package com.example.demo;
    
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    
    public class Test136 {
    
        /**
         * 借助hash表
         */
        public int singleNumber(int[] nums) {
            Set<Integer> set = new HashSet<>();
            for (int i = 0; i < nums.length; i++) {
                if (set.contains(nums[i])) {
                    set.remove(nums[i]);
                } else {
                    set.add(nums[i]);
                }
            }
            int res = 0;
            Iterator<Integer> iterator = set.iterator();
            while (iterator.hasNext()) {
                res = iterator.next();
            }
            return res;
        }
    
        /**
         * 数学方式:res = 2(a + b + c) - (a + a + b + b + c)  结果就是c,也就是要找的值
         */
        public int singleNumber2(int[] nums) {
            int sum = 0;
            Set<Integer> set = new HashSet<>();
            for (Integer integer : nums) {
                sum += integer;
                set.add(integer);
            }
    
            int twoSum = 0;
            for (Integer integer : set) {
                twoSum += integer;
            }
            return 2 * twoSum - sum;
        }
    
        /**
         * 利用位运算,相同的值异或为0,不同的值异或为1
         */
        public int singleNumber1(int[] nums) {
            int res = nums[0];
            for (int i = 1; i < nums.length; i++) {
                res ^= nums[i];
            }
            return res;
        }
    
        public static void main(String[] args) {
            Test136 t = new Test136();
            int[] arr = {2, 2, 1, 1, 3};
            int i = t.singleNumber2(arr);
            System.out.println(i);
        }
    }
  • 相关阅读:
    jquery的$().each,$.each的区别
    前端面试题整理
    JS中Null与Undefined的区别
    LESS介绍及其与Sass的差异(转载自伯乐在线,原文链接:http://blog.jobbole.com/24671/)
    APP 弱网测试
    ADB命令
    pytest之参数化parametrize的使用
    APP测试
    python 异常捕捉
    pip 安装依赖 requirements.txt
  • 原文地址:https://www.cnblogs.com/nxzblogs/p/11269770.html
Copyright © 2011-2022 走看看