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

点名(缺失的数字),剑指offer,力扣

目录

我们直接看题解吧:

审题目+事例+提示:

方法:

解题思路(二分法):

代码:

方法二:直接遍历


题目地址

LCR 173. 点名 - 力扣(LeetCode)

今天刷点名(缺失的数字),大家有兴趣可以点上看看题目要求,试着做一下

我们直接看题解吧:

审题目+事例+提示:

record为升序数组

方法:

遇到排序数组的搜索问题,首先想到二分法

解题思路(二分法):

依据题意,我们可以把数组分为两部分,

 左子数组,record[i]=i

 右子数组,record[i]!=i

所以,缺失的数字其实就是右子数组的首元素。

  1. 初始化i=0即左边界,j=length-1,即右边界
  2. 循环二分:当i<=j时跳出循环

     ·计算中点m=(i+j)/2(向下取整)

     ·record[m]==m,即缺失数字在[m+1,j],则i=m+1

     ·record[m]!=m,即缺失数字在[i,m-1],则j=m-1

    3、最后跳出循环,i指向位置为缺失的数字

代码:

class Solution {public int takeAttendance(int[] records) {int i = 0, j = records.length - 1;while(i <= j) {int m = (i + j) / 2;if(records[m] == m) i = m + 1;else j = m - 1;}return i;}
}

方法二:直接遍历

class Solution {public int missingNumber(int[] nums) {if (nums[0]==1) return 0;for (int i = 0;i<nums.length;i++){if (nums[i]!=i) return i;}return nums.length;}
}

http://www.lryc.cn/news/224640.html

相关文章:

  • 云安全—Dashboard 攻击面
  • FCOS难点记录
  • java通过FTP跨服务器动态监听读取指定目录下文件数据
  • 5G边缘计算网关的功能及作用
  • 阿里云AIGC小说生成【必得京东卡】
  • 数据结构之AVL树
  • 如何用Java实现一个基于机器学习的情感分析系统,用于分析文本中的情感倾向
  • 开发聚合支付的的意义
  • ChatGPT生产力|中科院学术ChatGPT优化配置
  • 语音播报speechSynthesis最简单的例子(亲测有用)
  • 呆头鹅-全自动视频混剪,批量剪辑批量剪视频,探店带货系统,精细化顺序混剪,故事影视解说,视频处理大全,精细化顺序混剪,多场景裂变,多视频混剪
  • 牛客竞赛网(爱吃素)
  • 基于高效多分支卷积神经网络的生长点精确检测与生态友好型除草
  • 11月9日,每日信息差
  • 什么是 eCPM?它与 CPM 有何不同?
  • Power Automate-创建和运行
  • 【STM32 开发】| INA219采集电压、电流值
  • 蓝桥杯每日一题203.11.7
  • ESP32建立TCP连接
  • 普华永道成功举办《国有基金高质量发展提效创效服务》主题分享活动,助力国有基金提效创效
  • 黑洞路由的几种应用场景
  • 数据分析:智能企业七步曲(一)
  • Django ModelSerializer 实现自定义验证详解
  • 在ubuntu sudo apt-get update 更新报错
  • Linux——手把手教你解决sudo指令无法使用的问题
  • 【云原生】使用nginx反向代理后台多服务器
  • Linux awk命令
  • 南大通用数据库-Gbase-8a-学习-42-定位与释放锁
  • css绘制常见的一些图形
  • 【网络协议】