宁波网站建设七米,wordpress天气,wordpress空格代码,长沙网站设计服务文章目录 力扣题目代码 力扣题目
给你一个整数数组 nums #xff0c;除某个元素仅出现 一次 外#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。
示例 1#xff1a;… 文章目录 力扣题目代码 力扣题目
给你一个整数数组 nums 除某个元素仅出现 一次 外其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。
示例 1
输入nums [2,2,3,2] 输出3 示例 2
输入nums [0,1,0,1,0,1,99] 输出99
代码
思路分析 1.遍历32位求出数组中所有数的每一位的和 2.对和进行取%判断如果对应位不能整除则此位就是多出来的那个一个数字
int singleNumber(int* nums, int numsSize)
{int ret 0;unsigned int count 0;int i 0, j 0;/*遍历32位*/for(i 0; i 32; i){count 0;/*将数组中的所有元素的对应位进行相加*/for(j 0; j numsSize; j){count (nums[j] i) 1;}/*数组中对应位相加如果是3的倍数将对应位置0否则置1*/ret (count % 3) i;}return ret;
}