题解 | #出现一次的牛#
出现一次的牛
https://www.nowcoder.com/practice/ed54a59697a244d2a3c656191d575f22
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型 */ int findSingleCow(vector<int>& nums) { // write code here int ret = 0; // 注意 mask 使用 unsigned,不然负数会报错 for(unsigned int mask = 1; mask > 0; mask <<= 1) { int cnt = 0; // 记录 mask 对应位为 1 的数的数量 for (auto num : nums) { if (num & mask) cnt++; } if (cnt % 3) ret |= mask; // 如果数量不为 3 的倍数,那么指定牛在该位为 1 } return ret; } };