博客
关于我
1539. Kth Missing Positive Number
阅读量:279 次
发布时间:2019-03-01

本文共 969 字,大约阅读时间需要 3 分钟。

为了解决这个问题,我们需要找到缺失在给定数组中的第k个正整数。数组中的数是严格递增的正整数,但可能存在缺失的数,我们需要找到这些缺失数中的第k个。

方法思路

我们可以使用两个变量来跟踪当前位置和缺失的数量。具体步骤如下:

  • 初始化两个变量count和cur,分别用于记录缺失的数量和当前位置。
  • 遍历数组中的每个元素,逐步检查是否存在缺失的数。
  • 当发现缺失的数时,继续检查直到找到第k个缺失的数。
  • 处理完数组后,继续检查后续可能的缺失数,直到找到第k个。
  • 这种方法确保了我们能够高效地找到第k个缺失的数,避免了不必要的重复计算。

    解决代码

    #include 
    using namespace std;int findKthPositive(vector
    & arr, int k) { int count = 0; int cur = 0; for (int num : arr) { cur++; while (cur < num) { count++; if (count == k) { return cur; } cur++; } } while (count < k) { cur++; count++; if (count == k) { return cur; } } return -1; // This line is theoretically unreachable as per problem constraints}

    代码解释

  • 初始化变量:count用于记录缺失的数量,cur用于跟踪当前位置。
  • 遍历数组:对于数组中的每个元素,先增加cur,然后检查是否存在缺失的数。如果发现缺失的数,继续检查直到找到第k个缺失的数。
  • 处理后续缺失数:处理完数组后,继续检查后续可能的缺失数,直到找到第k个。
  • 这种方法确保了我们能够高效地找到第k个缺失的数,避免了不必要的重复计算。

    转载地址:http://saqo.baihongyu.com/

    你可能感兴趣的文章
    Python FileDialog获取文件夹路径不是文件
    查看>>
    python filter过滤器的使用_python基础知识分享:zip()、filter函数和reduce如何使用?...
    查看>>
    python flask 请求code 400, message Bad request version
    查看>>
    Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
    查看>>
    python valueerror object2_python遇到错误记录
    查看>>
    Python virtualenv
    查看>>
    python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
    查看>>
    Python WebDriver如何打印整个页面源(html)
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 复习计划
    查看>>
    Python 多处理 Numpy 随机
    查看>>
    Python 多处理:在第一个子错误时中止映射
    查看>>
    Python 多处理不断产生 pythonw.exe 进程而不做任何实际工作
    查看>>
    Python 多处理如何优雅地退出?
    查看>>
    Python 多处理模块的 .join() 方法到底在做什么?
    查看>>
    python 学习 面向对象编程
    查看>>
    Python基础(7)--函数
    查看>>
    Python基础部分-while循环,格式化输出
    查看>>
    Python基础语法与执行脚本的3种方式
    查看>>
    python基础篇(1):type()
    查看>>