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

LeetCode :LCR 173. 点名


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

🔥个人主页guoguoqiang. 🔥专栏leetcode刷题

Alt


在这里插入图片描述
LeetCode :LCR 173. 点名

这个题就是缺失的数字,我们可以通过三种方式来解决这个问题。
1.可以通过位异或的方式来找到这个数(相同的数异或为0)

class Solution {
public:int takeAttendance(vector<int>& records) {int ret=0;for(auto n:records) ret^=n;//遍历整个数组for(int i=0;i<=records.size();i++){//遍历全部数ret^=i;}return ret;}
};

2.通过哈希表来实现(观察这个题中的数据可以通过使用数组来实现)

class Solution {
public:int takeAttendance(vector<int>& records) {int hash[10001]={0};for(auto ch:records) hash[ch]++;for(int i=0;i<=records.size();i++){//遍历数if(!hash[i]) return i;//如果不在哈希表中说明就是缺失的那个值。}return -1;//leetcode的检查机制}
};

3.二分查找

class Solution {
public:int takeAttendance(vector<int>& records) {int left=0,right=records.size()-1;while(left<right){int mid=left+(right-left)/2;if(records[mid]==mid) left=mid+1;//如果相等则证明不是要找这个数跳过else right=mid;}if(records[left]!=left) return left;//缺失值在数组中间else return left+1;//缺失值在数组的最后一个位置}
};

4.暴力搜索

class Solution {
public:int takeAttendance(vector<int>& records) {if(records[0]==1) return 0;int n=records.size();for(int i=0;i<n;i++){if(records[i]!=i) return i;}return records.size();}
};

5.数学(高斯求和公式)

class Solution {
public:int takeAttendance(vector<int>& records) {int n=records.size();int sum=0;for(auto &x:records){sum+=x;}return (n+1-1)*(n+1)/2-sum;}
};
http://www.lryc.cn/news/460977.html

相关文章:

  • Gin框架操作指南06:POST绑定(下)
  • LLaMA、llama.cpp和Ollama区别
  • NDK开发
  • docker overlay 占用空间太大,迁移到 /data/
  • Windows性能监控与调优:让电脑运行如飞
  • 前端响应式布局
  • 力扣MySQL 1581
  • 就是这个样的粗爆,手搓一个计算器:科学计算器
  • wordpress使用popup弹窗插件的对比
  • 开源OpenStack
  • 基于Spring Boot+vue技术的导游系统设计与实现
  • 软件测试 —— 灰度测试及测试流程!
  • 中科星图GVE(案例)——AI实现光伏面板提取
  • 一种压缩QRCode矩阵以用于存储的方法
  • 鸿蒙HarmonyOS开发:系统服务
  • 【Go】GO语言知识总结浅析
  • GWO-Transformer-LSTM灰狼算法优化深度学习多变量回归预测(Maltab)
  • 上市公司企业供应链抵抗力数据集(2012-2023年)
  • javaWeb项目-ssm+jsp-XX牙科诊所管理系统功能介绍
  • tcp_rmem中有三个值4896 131072 6291456是什么意思,有什么作用?
  • 转行AI产品经理:高薪诱惑,年薪90万不是梦!
  • javaWeb项目-ssm+jsp股票交易管理系统功能介绍
  • CentOS上安装SSL证书教程
  • 单目相机和双目相机定位
  • 【Cadence27】HDL拷贝工程➕Allegro导出DXF和3D文件STP
  • 拓扑学与集合论的关系
  • 设计模式——代理模式(6)
  • 设计模式之-策略模式配合枚举
  • 滑动窗口经典例题
  • PetaLinux工程的常用命令——petalinux-create