https://leetcode-cn.com/problems/kth-missing-positive-number/
给你一个 严格升序排列 的正整数数组 arr
和一个整数 k
。
请你找到这个数组里第 k
个缺失的正整数。
示例 1:
输入:arr = [2,3,4,7,11], k = 5 输出:9 解释:缺失的正整数包括 [1,5,6,8,9,10,12,13,...] 。第 5 个缺失的正整数为 9 。
示例 2:
输入:arr = [1,2,3,4], k = 2 输出:6 解释:缺失的正整数包括 [5,6,7,...] 。第 2 个缺失的正整数为 6 。
提示:
1 <= arr.length <= 1000
1 <= arr[i] <= 1000
1 <= k <= 1000
- 对于所有
1 <= i < j <= arr.length
的i
和j
满足arr[i] < arr[j]
class Solution {
public int findKthPositive(int[] arr, int k) {
if(arr[0]!=1)
{
if((arr[0]-1)>=k)
{
return k;
}
else k-=(arr[0]-1);
}
int t = 0;
for(int i=0;i<arr.length-1;i++)
{
t = arr[i+1]-arr[i];
System.out.println(t);
if(t!=1)
{
if(k>(t-1)) k = k-(t-1);
else return arr[i]+k;
}
}
if(k!=0)return arr[arr.length-1]+k;
return k;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/69242.html