C语言 | Leetcode C语言题解之第260题只出现一次的数字III

题目:

题解:

cpp 复制代码
int* singleNumber(int* nums, int numsSize, int* returnSize) {
    int xorsum = 0;
    for (int i = 0; i < numsSize; i++) {
        xorsum ^= nums[i];
    }
    // 防止溢出
    int lsb = (xorsum == INT_MIN ? xorsum : xorsum & (-xorsum));
    int type1 = 0, type2 = 0;
    for (int i = 0; i < numsSize; i++) {
        int num = nums[i];
        if (num & lsb) {
            type1 ^= num;
        } else {
            type2 ^= num;
        }
    }

    int *ans = (int *)malloc(sizeof(int) * 2);
    ans[0] = type1;
    ans[1] = type2;
    *returnSize = 2;
    return ans;
}
相关推荐
石去皿4 小时前
力扣hot100 91-100记录
算法·leetcode·职场和发展
圣保罗的大教堂6 小时前
leetcode 2799. 统计完全子数组的数目 中等
leetcode
SsummerC6 小时前
【leetcode100】组合总和Ⅳ
数据结构·python·算法·leetcode·动态规划
YuCaiH6 小时前
数组理论基础
笔记·leetcode·c·数组
2301_807611497 小时前
77. 组合
c++·算法·leetcode·深度优先·回溯
YuforiaCode7 小时前
第十三届蓝桥杯 2022 C/C++组 修剪灌木
c语言·c++·蓝桥杯
SsummerC8 小时前
【leetcode100】零钱兑换Ⅱ
数据结构·python·算法·leetcode·动态规划
程序员-King.9 小时前
day47—双指针-平方数之和(LeetCode-633)
算法·leetcode
阳洞洞9 小时前
leetcode 1035. Uncrossed Lines
算法·leetcode·动态规划·子序列问题
小鹿鹿啊9 小时前
C语言编程--15.四数之和
c语言·数据结构·算法