当前位置: 首页 > news >正文

优选算法_丢失的数字_位运算_C++

一.题目解析

算法1:哈希表

我们要找到一个没有的数字,先把nums存入hash表中,对比缺失的数字是哪个

代码实现

class Solution { public: int missingNumber(vector<int>& nums) { int n=nums.size(); unordered_map<int,int>hash(n); int count=0; for (int num : nums) //将数组存入哈希表 { hash[num] = true; } for(int i=0;i<=n;i++) { if(!hash.count(i))return i; } return -1; } };

算法优化:在对比hash表的时候可以使用二分查找

算法优化:

class Solution { public: int missingNumber(vector<int>& nums) { int n=nums.size(); unordered_map<int,int> hash(n); for(int num:nums) { hash[num]=1; } int left=0,right=n; while(left<right) { int mid=left+(right-left)/2; if(hash.count(mid))left=mid+1; else right=mid; } return left; } };

算法2:高斯求和

缺失的数字是在一个连续相邻的即0~n中,显然和减去数组和即是结果

代码实现:

class Solution { public: int missingNumber(vector<int>& nums) { int n=nums.size(); int sum=0; for(int i=0;i<n;i++) { sum+=nums[i]; } int sum1=(0+n)*(n+1)/2; int ret=sum1-sum; return ret; } };//高斯求和

算法三:位运算

^(异或)的性质是"消消乐"即a^a=0,所以我们异或上一个连续的数组,相同的消除,留下的即是结果\

代码实现:

class Solution { public: int missingNumber(vector<int>& nums) { int ret=0; int n=nums.size(); for(int i=0;i<n;i++) { ret^=nums[i]; } for(int i=0;i<=n;i++) { ret^=i; } return ret; } };//位运算
http://www.jsqmd.com/news/494850/

相关文章:

  • TestTimeScaling机制深度剖析与LLM生产级加速工程实践
  • NoSQL注入
  • 写给普通人,关于网络安全行业的认识
  • 用户关注功能
  • Git急救手册:30秒拯救误操作
  • Java面试高频考点MySQL索引优化与问题处理指南
  • 【从零开始学Java | 第十一篇】包、final、权限修饰符
  • 基于Simscape的双PID比例调速阀与比例溢流阀液压控制系统建模与仿真
  • 【路径规划】基于时空A星算法求解带时间约束的多机器人路径规划问题附matlab代码
  • 动静态库原理与ELF文件详解
  • 2026 年最新漏洞挖掘终极指南|从基础到精通,收藏这一篇足够
  • 【C++】C++设计心得--轮询、事件、异步
  • 2026年最值得用的降AI率工具实测:认准这几款就够了
  • 大模型函数调用(Function Calling)
  • 简单中文分词工具scws的安装和使用方法
  • 2026年深圳4G监控品牌优选:海康威视与大华权威评测与推荐
  • Flink知识点(一)|Flink中的双流关联
  • TCL发布会解析:Q9M Pro领衔,T7M系列双星登场,163吋Micro LED双曜压轴
  • 森林防火系统早期烟雾识别的误报率控制:面向测试工程师的实战指南
  • 【LLM基础】6. LLM 推理时的温度值、top_p、top_k等采样算法原理
  • 『NAS』将NAS变成单词收割机-QwertyLearner
  • 基于深度学习的表格识别技术:通过多模态预处理、神经网络分析和高精度OCR识别,实现复杂银行流水的自动化解析
  • 【第10篇】Mamba 100篇合集 · 从入门到天花板
  • 少走弯路:10个降AI率网站开源免费测评与推荐
  • java面试题总结2
  • LeetCode 1727.重新排列后的最大子矩阵:枚举矩形底边是哪一行 + 排序
  • 2026年塑料瓶粉碎机厂家实力榜TOP3,谁是行业领头羊?
  • 2026年主流论文降AI率工具实测:亲测有效的神器全在这
  • Windows系统漏洞MS17-010全解析
  • 一次签名毁掉数亿美元,深度拆解DeFi历史级漏洞