力扣刷题--1539. 第 k 个缺失的正整数【简单】
题目描述
给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。
请你找到这个数组里第 k 个缺失的正整数。
示例 1:
输入:arr = [2,3,4,7,11], k = 5
输出:9
解释:缺失的正整数包括 [1,5,6,8,9,10,12,13,…] 。第 5 个缺失的正整数为 9 。
算法分析
遍历1—无穷大,如果在arr当中没有找到,就加入v,如果v的大小达到了count,结束循环
完整代码
class Solution {
public:
int findKthPositive(vector<int>& arr, int k) {
vector<int>v;//用于保存,不在arr当中的整数
for(int i=1;i<INT_MAX;i++)//注意INT_MAX的使用
{
//使用find进行查找
if(find(arr.begin(),arr.end(),i)==arr.end())//如果在arr中没有找到
v.push_back(i);
int count=v.size();//v数组的大小
if(count==k)
{
return v[k-1];
}
}
return -1;
}
};
原文地址:https://blog.csdn.net/m0_75266675/article/details/142879755
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!