码迷,mamicode.com
首页 > 其他好文 > 详细

137. Single Number II

时间:2016-04-10 14:06:06      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

137. Single Number II

 
 
Total Accepted: 80477 Total Submissions: 214984 Difficulty: Medium

Given an array of integers, every element appears three times except for one. Find that single one.

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

Subscribe to see which companies asked this question

Code:

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int ret = 0;
        int mask = 1;
        while(mask)
        {
            int countOne = 0;   //number of digit 1
            for(int i = 0; i < nums.size(); i ++)
            {
                if(nums[i] & mask)
                    countOne ++;
            }
            if(countOne % 3 == 1)
                ret |= mask;
            mask <<= 1;
        }
        return ret;
    }
};

137. Single Number II

标签:

原文地址:http://www.cnblogs.com/Alex0111/p/5373811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!