import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int singleNumber (int[] nums) {
// write code here
}
}
NC227. 只出现一次的数字(二)
描述
示例1
输入:
[1]
输出:
1
示例2
输入:
[1,2,2,2]
输出:
1
C++ 解法, 执行用时: 7ms, 内存消耗: 1008KB, 提交时间: 2022-01-09
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型vector* @return int整型*/int singleNumber(vector<int>& nums) {// write code hereint arr[32] = {0};for (auto num : nums) {for (int i = 0; i < 32; ++i) {arr[i] += (num >> i) & 1;}}int res = 0;for (int i = 0 ; i < 32; ++i) {if (arr[i] % 3 == 1) {res |= (1 << i);}}return res;}};
C++ 解法, 执行用时: 7ms, 内存消耗: 1044KB, 提交时间: 2021-11-29
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型vector* @return int整型*/int singleNumber(vector<int>& nums) {// write code heresort(nums.begin(),nums.end());for(int i = 0; i< nums.size(); i = i+3){if(nums[i] != nums[i+1]) return nums[i];}return -1;}};
C++ 解法, 执行用时: 7ms, 内存消耗: 1048KB, 提交时间: 2021-12-02
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型vector* @return int整型*/int singleNumber(vector<int>& nums) {int res = 0;for(int i = 0; i < 32; ++i){int sum = 0;for(auto num : nums){sum += num >> i & 1;}if(sum % 3){res |= 1 << i;}}return res;}};
C++ 解法, 执行用时: 7ms, 内存消耗: 1052KB, 提交时间: 2022-01-22
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型vector* @return int整型*/int singleNumber(vector<int>& nums) {// write code hereint point = 1;int cnt;int num = 0;for(int i = 0; i < 32; ++i){cnt = 0;for(int j = 0; j < nums.size(); ++j){if(point & nums[j]){++cnt;}}if(cnt % 3){num = num | point;}point = point << 1;}return num;}};
C++ 解法, 执行用时: 7ms, 内存消耗: 1056KB, 提交时间: 2022-06-16
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型vector* @return int整型*/int singleNumber(vector<int>& nums) {// write code hereint res = 0;for(int i = 0; i < 32; i ++){int total = 0;for(auto num : nums){total += ((num >> i) & 1);}if(total % 3){res |= (1 << i);}}return res;}};