• LeetCode 1539. 第 k 个缺失的正整数 模拟


    地址 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] 

    算法1
    暴力遍历吧 不算很好的算法

    C++ 代码

    class Solution {
    public:
        int findKthPositive(vector<int>& arr, int k) {
            int i = 0;
            int curr =1;
            for(i = 0; i < arr.size();){
                if(arr[i] > curr){
                    curr++;  k--;
                    if(k == 0) return curr-1;
                }else if(arr[i] < curr){
                    i++;
                }else if(arr[i] == curr){
                    curr++;i++;
                }
            }
    
    
    
            return curr+k-1;
        }
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    Privacy & Logic
    Rules of Evidence
    Court terms & Judicial opinions
    Objections in Court
    US Trial Procedures
    Jeremy Jaynes v. Va.
    C++\CLI编程(一、命名空间)
    C++\CLI编程(一、命名空间)
    C++关于#include 两种 引用方式
    C++关于#include 两种 引用方式
  • 原文地址:https://www.cnblogs.com/itdef/p/13463683.html
Copyright © 2020-2023  润新知