难度
中等
97
收藏
分享
切换为英文
接收动态
反馈
现有一个按 升序 排列的整数数组 nums ,其中每个数字都 互不相同 。
给你一个整数 k ,请你找出并返回从数组最左边开始的第 k 个缺失数字。
示例 1:
输入:nums = [4,7,9,10], k = 1
输出:5
解释:第一个缺失数字为 5 。
示例 2:
输入:nums = [4,7,9,10], k = 3
输出:8
解释:缺失数字有 [5,6,8,…],因此第三个缺失数字为 8 。
示例 3:
输入:nums = [1,2,4], k = 3
输出:6
解释:缺失数字有 [3,5,6,7,…],因此第三个缺失数字为 6 。
class Solution { public int missingElement(int[] nums, int k) { int index = 0; int count = 0; for (int i = 0; i < nums.length - 1; i++) { int m = 1; while (nums[i] + m < nums[i + 1]) { index++; if (index == k) { return nums[i] + m; } m++; } count += (m - 1); } return nums[nums.length - 1] + k - count; }}