【二分查找】Leetcode 点名
题目解析
LCR 173. 点名

算法讲解
1. 哈希表
class Solution {
public:int takeAttendance(vector<int>& nums) {map<int, int> Hash;for(auto n : nums) Hash[n]++;for(int i = 0; i <= nums[nums.size() - 1]; i++){if(Hash[i] == 0)return i;}return nums.size();}
};
2. 顺序遍历
class Solution {
public:int takeAttendance(vector<int>& nums) {int j = 0;for(int i = 0; i < nums.size() ; i++, j++){if(nums[i] != j)return j;}return j;}
};
3.位运算
class Solution {
public:int takeAttendance(vector<int>& nums) {int ret = 0;for(int i = 0; i < nums.size(); i++){ret ^= (nums[i] ^ (i+1));}return ret;}
};
二分法
class Solution {
public:int takeAttendance(vector<int>& nums) {//前半部分 nums[mid] == mid 后半部分 nums[mid] != midint left = 0, right = nums.size() - 1;while(left < right){int mid = left + (right - left) / 2;if(nums[mid] == mid)left = mid + 1;else right = mid;}if(nums[left] != left)return left;return left + 1;}
};
相关文章:
【二分查找】Leetcode 点名
题目解析 LCR 173. 点名 算法讲解 1. 哈希表 class Solution { public:int takeAttendance(vector<int>& nums) {map<int, int> Hash;for(auto n : nums) Hash[n];for(int i 0; i < nums[nums.size() - 1]; i){if(Hash[i] 0)return i;}return nums.si…...
JS中的运算符
1.&& 逻辑与 &&会从左到右执行表达式,直到某个表达式的运行结果返回false,如果全部为true,则返回最后一个中表达式的执行结果 console.log(1 && 2) // 2 console.log(1&&10&&15) // 15 console.log(1&&0&&am…...
Webots常用的执行器(Python版)
文章目录 1. RotationalMotor2. LinearMotor3. Brake4. Propeller5. Pen6. LED 1. RotationalMotor # -*- coding: utf-8 -*- """motor_controller controller."""from controller import Robot# 实例化机器人 robot Robot()# 获取基本仿真步长…...
mySql数据库学习002-表数据查询操作
表数据查询操作 表数据如下: idnameagegenderclasscreatedAtupdatedAt1张三20男一班2024-04-08 09:15:092024-04-08 09:15:092李四19女一班2024-04-08 09:15:092024-04-08 09:15:093王五21女二班2024-04-08 09:15:092024-04-08 09:15:094赵六18女二班2024-04-08 0…...
【STL】stack与queue的底层原理及其实现
文章目录 stack的介绍库中stack的使用栈的模拟实现queue的介绍库中queue的使用queue的模拟实现 stack的介绍 (图片来自知乎) 1.stack是一种容器适配器,模拟了栈的数据结构。数据只能从一端进去,另一端出来(先进后出&am…...
Ai大模型如何应用到机器视觉系统中
AI大模型在机器视觉系统中的应用可以通过以下几个步骤实现: 1. 数据准备与预处理: - 收集和标注大量高质量的图像数据,这些数据应该覆盖机器视觉系统需要处理的各种场景和对象。 - 对图像数据进行预处理,包括去噪、标准化、增强等…...
IntelliJ IDEA下载及安装教程(Windows操作系统)
一、下载IntelliJ IDEA 1、访问JetBrains官方网站 打开浏览器,输入网址 https://www.jetbrains.com/idea/ 进入IntelliJ IDEA官方主页。 2、选择产品版本 IntelliJ IDEA分为免费的Community Edition(社区版)和付费的Ultimate Edition&…...
01 Python进阶:正则表达式
re.match函数 使用 Python 中的 re 模块时,可以通过 re.match() 函数来尝试从字符串的开头匹配一个模式。以下是一个简单的详解和举例: import re# 定义一个正则表达式模式 pattern r^[a-z] # 匹配开头的小写字母序列# 要匹配的字符串 text "h…...
pdf图片识别分类
文章目录 解析pdf数据ocr识别分类方法正则匹配词频统计分类模型 分类完提示 解析pdf数据 试了几种方法 fitz-get_image后面方法不适用,用pixmap分辨率低 用pypdf2版本低方法用不了 用pdf2image还要下依赖工具 用spire.pdf的SaveAsImage分辨率低,Extract…...
24双非考研哈尔滨工程大学计算机(@程程笔记)
前言 个人情况,本科双非考研软件工程。24考研成绩总分369(政治75,英语58,数学102,专业课134),整体各科成绩比较均衡,没有太突出和瘸腿的,初始排名5/19,复试后排名5/13。 政治 政治…...
IO流(2.其他流)
能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流 一、缓冲流 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:Buffe…...
PyTorch之计算模型推理时间
一、参考资料 如何测试模型的推理速度 Pytorch 测试模型的推理速度 二、计算PyTorch模型推理时间 1. 计算CPU推理时间 import torch import torchvision import time import tqdm from torchsummary import summarydef calcCPUTime():model torchvision.models.resnet18()…...
layui后台框架,将左侧功能栏目 集中到一个页面,通过上面的tab切换 在iframe加载对应页面
实现上面的 功能效果。 1 html代码 <form class"layui-form layui-form-pane" action""><div class"layui-tab" lay-filter"demo"><ul class"layui-tab-title"><li id"a0" class"lay…...
【网络原理】使用Java基于TCP搭建简单客户端与服务器通信
目录 🎄API介绍🌸ServerSocket API🌸Socket API 🍀TCP中的长短连接🌳建立TCP回显客户端与服务器🌸TCP搭建服务器🌸TCP搭建客户端 ⭕总结 TCP服务器与客户端的搭建需要借助以下API 🎄…...
Hadoop生态系统主要是什么?
Hadoop生态系统主要由以下几部分组成: Hadoop HDFS:这是Hadoop的核心组件之一,是一个用于存储大数据的分布式文件系统。它可以在廉价的硬件上提供高度的容错性,通过数据复制和故障切换实现数据的高可用性。 MapReduce:…...
GlusterFS分布式文件系统
前言 存储可分为文件存储和对象存储,常见的文件存储相关技术有:nfs、lvm、raid;常见的对象存储相关技术有:gfs、ceph、fdfs、nas、oss、s3、switch。GlusterFS 归类为文件存储系统,它提供了一种强大的方式来管理和存储…...
spark本地模拟多个task时如何启动多个Excutor
1、首先在9090端口下启动Excutor,作为第一个Excutor 2、然后修改9090端口为:9091,如下图点击Edit Configration 3、然后按下图操作 , 4、修改一下名字 5、点击apply,🆗 6、检查下面圈1是否是刚刚我们新建的MyExcutor(2…...
RocketMQ笔记(八)SpringBoot整合RocketMQ广播消费消息
目录 一、简介1.1、消费模式 二、消费者2.1、maven依赖2.2、application配置2.3、消费监听 三、生产者3.1、发送消息3.2、运行结果 四、其他 一、简介 在之前的文章中,我们讲过了,同步发送单条消息,异步发送单条消息,发送单向消息…...
Appium如何自动判断浏览器驱动
问题:有的测试机chrome是这个版本,有的是另一个版本,怎么能让自动判断去跑呢?? 解决办法:使用appium的chromedriverExecutableDir和chromedriverChromeMappingFile 切忌使用chromedriverExecutableDir和c…...
MVCC-多版本并发控制
MVCC(多版本并发控制)简介 在数据库系统中,并发控制是一个非常重要的话题。为了提高系统的并发性能和吞吐量,现代数据库系统通常使用多种技术来实现对数据的安全访问,其中一种重要的技术就是多版本并发控制࿰…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
