尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

C语言/数据结构位运算题解:异或XOR找出挑战赛中的“独特能量球“——只出现一次的数字

发布时间:2026/9/28 20:35:56

资讯中心
01
ARTICLE

C语言/数据结构位运算题解:异或XOR找出挑战赛中的“独特能量球“——只出现一次的数字

C语言/数据结构位运算题解:异或XOR找出挑战赛中的“独特能量球“——只出现一次的数字
问题描述小M正在参加一个能力选择挑战赛他面前有多个能量球每个能量球上都有一个整数能量值。挑战规则是所有的能量球都成对出现即每个能量值恰好出现两次但有一个能量球是独特的它的能量值只出现一次。小M需要快速找出这个独特能量球的能量值才能通过挑战。要求设计一个算法在 O(n) 的时间复杂度内找出独特的能量值其中 n 是能量球的数量。尽量减少额外空间的使用以展示你的算法优化技巧。测试样例样例1输入energy [5, 3, 5, 2, 3, 1, 1]输出2解释能量值 2 只出现一次是独特的能量球。样例2输入energy [10, 20, 10, 30, 20, 40, 40]输出30解释30 是唯一一个不重复的能量值。样例3输入energy [0, 1, 1, 2, 2, 3, 3]输出0解释0 只出现一次其余能量值都成对出现。约束条件1 ≤ energy.length ≤ 10010 ≤ energy[i] ≤ 1000能量球的数量为奇数除了一个能量值只出现一次外其余每个能量值都恰好出现两次程序代码#include stdio.hint findUnique(int* energy, int energySize) {int result 0;for (int i 0; i energySize; i) {result ^ energy[i];}return result;}int main() {int energy1[] {5, 3, 5, 2, 3, 1, 1};int energy2[] {10, 20, 10, 30, 20, 40, 40};int energy3[] {0, 1, 1, 2, 2, 3, 3};printf(%d\n, findUnique(energy1, 7)); // 2printf(%d\n, findUnique(energy2, 7)); // 30printf(%d\n, findUnique(energy3, 7)); // 0return 0;}#include stdio.h int findUnique(int* energy, int energySize) { int result 0; for (int i 0; i energySize; i) { result ^ energy[i]; } return result; } int main() { int energy1[] {5, 3, 5, 2, 3, 1, 1}; int energy2[] {10, 20, 10, 30, 20, 40, 40}; int energy3[] {0, 1, 1, 2, 2, 3, 3}; printf(%d\n, findUnique(energy1, 7)); // 2 printf(%d\n, findUnique(energy2, 7)); // 30 printf(%d\n, findUnique(energy3, 7)); // 0 return 0; }运行结果
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。