尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
C语言/数据结构位运算题解:异或XOR找出英雄队伍中的“独特战斗力“——只出现一次的数字
问题描述小强最近沉迷于一款英雄对战游戏他需要组建一支英雄队伍来通关副本。每个英雄都有一个独特的战斗力数值但游戏规则特殊除了一个英雄的战斗力数值只出现一次外其余每个战斗力数值都恰好出现两次即有两个英雄拥有相同的战斗力。这个独特的英雄拥有特殊的技能能够帮助队伍轻松通关。小强希望你能帮他快速找出这个独特战斗力数值的英雄以便优先招募。请你设计一个高效的算法在 O(n) 的时间复杂度内找出这个独特的数值并尽量减少额外空间的使用。测试样例样例1输入heroes [5, 10, 5, 20, 10, 30, 20]输出30解释战斗力数值 5 出现两次索引0和210 出现两次索引1和420 出现两次索引3和630 只出现一次索引5因此 30 是独特的数值。样例2输入heroes [100, 200, 100, 300, 200, 400, 300]输出400解释100 出现两次索引0和2200 出现两次索引1和4300 出现两次索引3和6400 只出现一次索引5因此 400 是独特的数值。样例3输入heroes [1, 1, 2, 2, 3, 4, 4]输出3解释数值 1 出现两次索引0和12 出现两次索引2和34 出现两次索引5和63 只出现一次索引4因此 3 是独特的数值。约束条件1 ≤ heroes.length ≤ 10010 ≤ heroes[i] ≤ 1000队伍大小为奇数除了一个英雄的战斗力数值只出现一次外其余每个战斗力数值都恰好出现两次程序代码#include stdio.hint findUnique(int* heroes, int heroesSize) {int result 0;for (int i 0; i heroesSize; i) {result ^ heroes[i];}return result;}int main() {int heroes1[] {5, 10, 5, 20, 10, 30, 20};int heroes2[] {100, 200, 100, 300, 200, 400, 300};int heroes3[] {1, 1, 2, 2, 3, 4, 4};printf(%d\n, findUnique(heroes1, 7)); // 30printf(%d\n, findUnique(heroes2, 7)); // 400printf(%d\n, findUnique(heroes3, 7)); // 3return 0;}#include stdio.h int findUnique(int* heroes, int heroesSize) { int result 0; for (int i 0; i heroesSize; i) { result ^ heroes[i]; } return result; } int main() { int heroes1[] {5, 10, 5, 20, 10, 30, 20}; int heroes2[] {100, 200, 100, 300, 200, 400, 300}; int heroes3[] {1, 1, 2, 2, 3, 4, 4}; printf(%d\n, findUnique(heroes1, 7)); // 30 printf(%d\n, findUnique(heroes2, 7)); // 400 printf(%d\n, findUnique(heroes3, 7)); // 3 return 0; }运行结果
RELATED

相关推荐

韩朔的安保手记(六):长假尾声的值班复盘,真正的安全始于对细节的执念

韩朔的安保手记(六):长假尾声的值班复盘,真正的安全始于对细节的执念

韩朔的安保手记(六):长假尾声的值班复盘,真正的安全始于对细节的执念十月六日,下午五点半。 国庆长假的倒数第二天,值守任务终于进入了收尾阶段。会议室的长条会议桌旁,几位值班组的骨干工程师手…

📅 2026/10/7 15:28:17
国庆车间手记:老工程师指尖的温度,为什么焊台海绵必须用纯净水打湿

国庆车间手记:老工程师指尖的温度,为什么焊台海绵必须用纯净水打湿

国庆车间手记:老工程师指尖的温度,为什么焊台海绵必须用纯净水打湿国庆长假的倒数第二天,车间里静得只剩下三相变压器发出的 50Hz 嗡鸣。阳光从高侧的气窗斜斜打在防静电桌面上,浮尘在光柱里缓缓翻卷。桌角那台用了十多年的高频涡…

📅 2026/10/7 15:28:17
国庆夜查机房之六:好的架构为什么应该像空气一样让人感受不到它的存在

国庆夜查机房之六:好的架构为什么应该像空气一样让人感受不到它的存在

国庆夜查机房之六:好的架构为什么应该像空气一样让人感受不到它的存在国庆长假的第六天深夜,智算中心的机房巡检告一段落。回到园区二楼值班室的工位坐下,窗外的秋风正吹过园区里成排的银杏树。 脚边趴着那只一直安静陪伴我值班的宠物&#x…

📅 2026/10/7 15:28:17
MORE NEWS

更多资讯

📰

Lovefield + TypeScript 快速上手:从 schema 构建到增查全流程的浏览器端关系型数据库 Todo 示例

关系型数据库数据库前端 【免费下载链接】lovefield Lovefield is a relational database for web apps. Written in JavaScript, works cross-browser. Provides SQL-like APIs that are fast, safe, and easy to use. 项目地址: https://gitcode.com/gh_mirrors/l…

📰

CSRF 跨站请求伪造漏洞原理与实战测试

CSRF 跨站请求伪造漏洞原理与实战测试 前言 在 Web 安全漏洞体系中,CSRF(跨站请求伪造 Cross-Site Request Forgery) 是一类非常经典的业务型安全漏洞,同时也是企业渗透测试、SRC 漏洞挖掘、CTF Web 赛题、安全面试里的高频考点。…

📰

XSS 漏洞分类、测试方法与防御方案

XSS 漏洞分类、测试方法与防御方案 前言 在 Web 安全领域中,XSS(跨站脚本攻击,Cross-Site Scripting) 是出现频率最高、覆盖范围最广、业务关联性最强的漏洞之一。相比于 SQL 注入、文件上传这类高危漏洞,XSS 漏洞门…

📰

Agent-Reach 实战:用 CLI 与 Python 打通 AI Agent 落地最后一公里

1. 从标题说起:Agent-Reach 到底想解决什么问题第一次看到 Agent-Reach 这个名字,我脑子里冒出来的第一个念头是:又一个 Agent 框架?这两年 AI Agent 相关的项目多到让人眼花缭乱,从 LangChain、LangGraph 到各种 CLI …

📰

Java课程设计实战:Servlet+JSP+MySQL图书管理系统从建表到跑通

简介:面向Java初学者的IDEA图书管理系统完整项目,覆盖用户注册登录、图书信息管理、借阅归还等核心业务,适合课程设计、毕业设计或Java Web入门实践。项目基于Java Web技术栈,采用MVC分层架构,通过JSP、Servlet和DAO模…

📰

WeKnora 0.7.2 升级怎么落地:拉新镜像、自动迁移与逐项验收

WeKnora 0.7.2 升级怎么落地:拉新镜像、自动迁移与逐项验收 【免费下载链接】WeKnora Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki. 项目地址: https://gitcode.…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬