news 2026/10/1 10:28:48

DeepSeek LeetCode 137.不出现一次的数字|| C语言实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek LeetCode 137.不出现一次的数字|| C语言实现

LeetCode 137 是 只出现一次的数字 II:数组中除某个元素只出现一次外,其余元素都出现三次,要求找出这个元素。

C 语言实现(位运算状态机,推荐)

intsingleNumber(int*nums,intnumsSize){intones=0;// 记录某二进制位出现 1 次的状态inttwos=0;// 记录某二进制位出现 2 次的状态for(inti=0;i<numsSize;i++){ones=(ones^nums[i])&~twos;twos=(twos^nums[i])&~ones;}returnones;}

思路简述

· ones 表示当前扫描过程中,二进制某位出现 1 次的情况。
· twos 表示二进制某位出现 2 次的情况。
· 当某一位出现 3 次时,ones 和 twos 都会把该位清零。
· 最终 ones 中留下的就是只出现一次的那个数的二进制位。

复杂度

· 时间复杂度:O(n)
· 空间复杂度:O(1)

另一种直观写法:逐位统计

intsingleNumber(int*nums,intnumsSize){unsignedintans=0;for(inti=0;i<32;i++){intcount=0;for(intj=0;j<numsSize;j++){count+=((unsignedint)nums[j]>>i)&1U;}if(count%3!=0){ans|=(1U<<i);}}return(int)ans;}

这种写法统计每个二进制位上 1 出现的次数,对 3 取模,剩下的位就组成只出现一次的数字。时间复杂度 O(32n),也是 O(n)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 10:28:40

GitHub周榜怎么刷才有价值:从挑项目到跑通全流程指南

1. GitHub 周榜是什么&#xff0c;为什么值得每周刷每周一打开 GitHub 热榜项目页面&#xff0c;第一件事就是看看这周的“周榜”又换了哪些新面孔。对&#xff0c;就是那个记录了近 7 天里 star 增长最快、讨论最热、被 fork 最多的开源项目榜单&#xff0c;2026-09-27 这一期…

作者头像 李华
网站建设 2026/10/1 10:28:34

风格化渲染系统:可编程的视觉语法翻译器

1. 什么是风格化渲染系统&#xff1a;它不是滤镜&#xff0c;而是视觉语言的翻译器“一个风格化渲染系统”——这七个字乍看抽象&#xff0c;但拆开来看&#xff0c;每个词都踩在当下数字内容生产的核心痛点上。风格化&#xff0c;不是简单加个美颜或套个预设滤镜&#xff0c;而…

作者头像 李华
网站建设 2026/10/1 10:28:14

我们花了半年把 Oracle 迁走了,值吗?

一、为什么要迁&#xff1f;说实话&#xff0c;最初的触发点很现实&#xff1a;续费通知。Oracle 的 License 续费单发过来那一刻&#xff0c;财务和 IT 负责人同时沉默了几秒。不是第一次见到这个数字&#xff0c;但这一次&#xff0c;会议室里有人第一次认真说出那句话&#…

作者头像 李华
网站建设 2026/10/1 10:26:35

端侧AI落地九大约束与八维评测:横切思维下的权衡法则

端侧AI这两年从PPT概念一路卷到真机落地&#xff0c;我身边做嵌入式、做算法、做产品的朋友几乎都在同一个坑里反复摔跤&#xff1a;模型在服务器上跑得漂漂亮亮&#xff0c;一塞进手机、手表、车机、摄像头&#xff0c;精度掉、延迟炸、发热烫、内存爆&#xff0c;最后只能砍功…

作者头像 李华