zoukankan      html  css  js  c++  java
  • leetcode 136.Single Number

    136.Single Number

    相关链接

    leetcode

    背景知识

    Concept原理

    • If we take XOR of zero and some bit, it will return that bit
      a⊕0=a(0异或任何数得任何数)

    • If we take XOR of two same bits, it will return 0
      a⊕a=0(相同的两个数异或为0)

    • a⊕b⊕a=(a⊕a)⊕b=0⊕b=b(异或满足交换律)

    So we can XOR all bits together to find the unique number.

    描述

    Given a non-empty array of integers, every element appears twice except for one. Find that single one.

    Note:

    Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

    Note:

    Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

    Example 1:

    Example 1:

    Input: [2,2,1]
    Output: 1
    Example 2:

    Input: [4,1,2,1,2]
    Output: 4

    solution

    class Solution {
    public:
        int singleNumber(vector<int>& nums) {
            int len = nums.size();
            for(int i = 1; i < len; i++)
                nums[0] ^= nums[i];           
            return nums[0];
        }
    };
    
    blogs record our growth
  • 相关阅读:
    少走弯路的10条忠告
    思考
    哈弗经典校训
    项目导出excel引发的一些问题
    hibernate 缓存设置
    dubbo简单用法
    sql 类型问题
    spring this.logger.isDebugEnabled()
    红黑树
    归并排序
  • 原文地址:https://www.cnblogs.com/qwfand/p/12615072.html
Copyright © 2011-2022 走看看