zoukankan      html  css  js  c++  java
  • LeetCode刷题记录(3)—— 136. 只出现一次的数字

    class Solution {
        public int singleNumber(int[] nums) {
            /*思路一:利用HashSet去除重复项(o(n))
            Set<Integer> set=new HashSet<>();
            for(int i=0;i<nums.length;i++){
                if(!set.contains(nums[i])){
                    set.add(nums[i]);
                }else{
                    set.remove(nums[i]);
                }
            }
            int res=(int)set.toArray()[0];
            return res;*/
    //思路二:先排序然后左右比较(o(logn)) /*if(nums.length==1) return nums[0]; Arrays.sort(nums); if(nums[0]!=nums[1]) return nums[0]; for(int i=1;i<nums.length-1;i++){ if(nums[i]!=nums[i-1]&&nums[i]!=nums[i+1]) return nums[i]; } return nums[nums.length-1];*/
         //思路三:位运算(XOR异或)(o(n))
         
    //1、交换律:a ^ b ^ c <=> a ^ c ^ b
         //2、任何数于0异或为任何数 0 ^ n => n
         //3、相同的数异或为0: n ^ n => 0
            int result = 0;
            for(int i=0;i<nums.length;i++)
            {
               result^=nums[i];
            }
            return result;
        }
    }
  • 相关阅读:
    PHP中的赋值运算符
    PHP-字符串过长不用担心
    php-引号中出现$
    wamp多站点配置
    php-wamp滴定仪网站的根目录
    php初探
    JMeter jmeter-plugins插件的安装使用
    JMeter 调试取样器(Debug Sampler)
    css选择器
    css文本样式
  • 原文地址:https://www.cnblogs.com/esperanza/p/12171177.html
Copyright © 2011-2022 走看看