美文网首页
6.16 candy & SingleNumber I,

6.16 candy & SingleNumber I,

作者: 陈十十 | 来源:发表于2016-08-22 15:06 被阅读6次
  • to do

1] Single Number
eeeeei
No extra memory,

    int singleNumber(vector<int>& nums) {
        int ret = 0;
        for (int i=0; i<nums.size(); ++i) {
            ret ^= nums[i];
        }
        return ret;
    }

2] Single Number II
note the vector<int> marks(8*sizeof(int), 0);

    int singleNumber(vector<int>& nums) {
        vector<int> marks(8*sizeof(int), 0); //================
        int ret =0;
        for (int n: nums) {
            for (int i=0; i<marks.size(); ++i) {
                marks[i] += (n>>i)&1;
            }
        }
        for (int i=0; i<marks.size(); ++i) {
            if (marks[i] %= 3) ret += (1<<i);
        }
        return ret;
    }

相关文章

网友评论

      本文标题:6.16 candy & SingleNumber I,

      本文链接:https://www.haomeiwen.com/subject/tnqgsttx.html