
寻找缺失数字
初始化缺失数为0。 遍历数组,比较每个相邻元素的差值。 如果发现两个相邻元素的差值大于1,则说明中间缺失了一个数,缺失的数为前一个元素加1。 一旦找到缺失的数,立即停止遍历。 初始化:将缺失数初始化为0。 遍历数组:从数组的第一个元素开始,逐个比较每个相邻元素。 检测差异:如果发现两个相邻元素的差值大于1,则计算缺失的数为前一个元素加1,并立即停止遍历。 返回结果:返回找到的缺失数。
发布日期:2021-05-08 21:34:21
浏览次数:17
分类:精选文章
本文共 776 字,大约阅读时间需要 2 分钟。
要解决从一个有序数组中找出缺失的数的问题,我们可以采用以下方法:
问题描述
从0到n的连续整数中选取n个数,组成一个有序数组,找出缺失的那个数。例如,输入数组[0,1,2,3,4,5,7],缺失的数是6。
解决思路
我们可以通过一次遍历数组来找出缺失的数。具体步骤如下:
这种方法的时间复杂度为O(n),非常高效。
实现代码
public static int findNumber(int[] arr) { int target = 0; for (int i = 0; i < arr.length - 1; i++) { if (arr[i + 1] - arr[i] > 1) { target = arr[i] + 1; break; } } return target;}public static void main(String[] args) { int[] arr1 = {1, 2, 3, 4, 5, 6, 8, 9, 10, 11}; System.out.println("缺失的数为" + findNumber(arr1));}
代码解释
这种方法能够在一次遍历中高效地找到缺失的数,适用于大多数情况。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月07日 00时02分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode OJ:Merge k Sorted Lists(归并k个链表)
2025-04-05
leetcode Plus One
2025-04-05
LeetCode Text Justification
2025-04-05
Leetcode | Simplify Path
2025-04-05
LeetCode – Refresh – 4sum
2025-04-05
leetCode 字符串反转
2025-04-05
LeetCode(229):Majority Element ||
2025-04-05
leetcode--
2025-04-05
LeetCode--020--括号匹配
2025-04-05
Leetcode-966 Vowel Spellchecker(元音拼写检查器)
2025-04-05
LeetCode111.二叉树最小深度
2025-04-05
leetcode23-合并K个升序链表
2025-04-05
LeetCode268.缺失数字
2025-04-05
LeetCode331.验证二叉树的前序序列化
2025-04-05
Leetcode: Spiral Matrix II
2025-04-05
LeetCode: String to Integer (atoi)
2025-04-05
Leetcode:454. 4Sum II
2025-04-05
LeetCode:Restore IP Addresses
2025-04-05
LeetCode——Unique Paths
2025-04-05
LeetCode二叉树从上至下路径问题总结(112.113.437.129)
2025-04-05