zoukankan      html  css  js  c++  java
  • [LeetCode] 136. 只出现一次的数字

    首先想到的是异或,会出现一个与不为零得值

    可以使用暴力查找或者快排,快排复杂度是o(nlogn)

    或者是使用hash表,但是会占用多余得空间复杂度

    异或:

    class Solution {
        public int singleNumber(int[] nums) {
            int ans=nums[0];
            if(nums.length>1){
                for(int i=1;i<nums.length;i++){
                    ans=ans^nums[i];
                }
            }
            return ans;
        }
    }

     hash表:

    class Solution {
        public int singleNumber(int[] nums) {
           Map<Integer,Integer> map=new HashMap<>();
            for(Integer i:nums){
                Integer count=map.get(i);
                count=count==null?1:++count;
                map.put(i,count);
            }
    
            for(Integer i:map.keySet()){
                Integer count=map.get(i);
                if(count==1){
                    return i;
                }
            }
            return -1;
        }
    }

  • 相关阅读:
    scrapy--Cookies
    python--signal
    python--redis
    TCP/IP 协议
    python--Wrapper
    python--inspect
    python--pexpect
    linux 特殊命令(一)
    day45 Pyhton 数据库Mysql 02
    day44 Pyhton 数据库Mysql
  • 原文地址:https://www.cnblogs.com/doyi111/p/12903175.html
Copyright © 2011-2022 走看看