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;
}
相关推荐
DREW_Smile12 小时前
数据在内存中的存储
c语言·开发语言
是翔仔呐12 小时前
第10章 模拟量采集基础:外置ADC/DAC芯片驱动(PCF8591/ADC0832)
c语言·开发语言·单片机·嵌入式硬件·51单片机
Rabitebla13 小时前
[特殊字符] TopK问题全解析(TomGo复习版|讲人话 + 原理打穿)
c语言·数据结构·算法·链表
weixin_6495556713 小时前
C语言程序设计第四版(何钦铭、颜晖)第十一章 指针进阶之随机发牌
c语言·开发语言
淮北也生橘1213 小时前
Linux应用开发:C标库中的操作字符串函数简单总结
linux·运维·c语言
keep intensify13 小时前
最小路径和
算法·leetcode·职场和发展
爱编码的小八嘎13 小时前
C语言完美演绎5-4
c语言
多打代码13 小时前
2026.03.23 最长递增子序列 & 最长连续递增序列 & 最长公共子序列
算法·leetcode·职场和发展
炸膛坦客13 小时前
单片机/C/C++八股:(二十二)数组名,以及和指针的区别(一/二维数组)
c语言·c++·单片机
计算机安禾14 小时前
【数据结构与算法】第1篇:为什么要学习数据结构与算法?专栏导学
c语言·开发语言·c++·学习·算法·visual studio code·visual studio