【leetcode】Single Number III

原创 2015年11月19日 20:01:49

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].

Note:

  1. The order of the result is not important. So in the above example, [5, 3] is also correct.
  2. Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?
class Solution {
public:
    vector<int> singleNumber(vector<int>& nums) {
        int AxorB = 0;
        for (vector<int>::iterator it = nums.begin(); it != nums.end(); ++it)
        {
            AxorB = AxorB ^ (*it);
        }
        
        int A = 0;
        int B = 0;
        int mask = AxorB & (-AxorB);
        for (vector<int>::iterator it = nums.begin(); it != nums.end(); ++it)
        {
            if ((mask & (*it)) == 0)
                A = A ^ (*it);
            else
                B = B ^ (*it);
        }
        
        vector<int> result;
        result.push_back(A);
        result.push_back(B);
        return result;
    }
};


Personal Note:

  1. n & (-n)表示取的n中的最后一位二进制位
  2. &的优先级小于==的优先级


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Leetcode Single Number III

class Solution { public: unsigned long intmax = 2147483647; vector singleNumber(vector& nums...

Leetcode260 Single Number III

leetcode260

【leetcode79】Single Number III

题目描述:给定一个数组,里面只有两个数组,只是出现一次,其余的数字都是出现两次,找出这个两个数字,数组形式输出原文描述:Given an array of numbers nums, in which...

LeetCode Single Number III (Java和Python代码)

题目Given an array of numbers nums, in which exactly two elements appear only once and all the other e...

LCP260 LeetCode 260. Single Number III

前言LeetCode 上关于Single Number的题目一共三道:136. Single Number, 137. Single Number II, 260. Single Number III...

Leetcode: Single Number III

题目: Given an array of numbers nums, in which exactly two elements appear only once and all the ...

LeetCode:Single Number I & II & III

(一)题目描述:single-number Given an array of integers, every element appears **twice** except for one. Fi...

leetcode 260.Single Number III

在leetcode的第260题 Single Number III 中有位大神的解题方法。

《leetCode》:Single Number III

题目Given an array of numbers nums, in which exactly two elements appear only once and all the other e...

LeetCode(260) Single Number III

题目Given an array of numbers nums, in which exactly two elements appear only once and all the other e...
  • fly_yr
  • fly_yr
  • 2015-12-02 14:41
  • 1004
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)