首页 > 其他 > 详细

137. Single Number II

时间:2016-04-10 14:04:25      阅读:182      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!