★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址: https://www.cnblogs.com/strengthen/p/10745707.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
给出一个有序数组 A
,数组中的每个数字都是 独一无二的,找出从数组最左边开始的第 K
个缺失数字。
示例 1:
输入:A = [4,7,9,10], K = 1 输出:5 解释: 第一个缺失数字为 5 。
示例 2:
输入:A = [4,7,9,10], K = 3 输出:8 解释: 缺失数字有 [5,6,8,...],因此第三个缺失数字为 8 。
示例 3:
输入:A = [1,2,4], K = 3 输出:6 解释: 缺失数字有 [3,5,6,7,...],因此第三个缺失数字为 6 。
提示:
1 <= A.length <= 50000
1 <= A[i] <= 1e7
1 <= K <= 1e8
692 ms
1 class Solution { 2 func missingElement(_ nums: [Int], _ k: Int) -> Int { 3 var k = k 4 var n:Int = nums.count 5 var i:Int = 0 6 while(i + 1 < n) 7 { 8 if nums[i + 1] - nums[i] - 1 >= k 9 { 10 return nums[i] + k 11 } 12 k -= nums[i + 1] - nums[i] - 1 13 i += 1 14 } 15 return nums[n-1] + k 16 } 17 }