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

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

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

方法思路

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

  • 初始化两个变量countcur,分别用于记录缺失的数量和当前位置。
  • 遍历数组中的每个元素,逐步检查是否存在缺失的数。
  • 当发现缺失的数时,继续检查直到找到第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 Workbook 表格宽度
    查看>>
    python | flanker,一个神奇的 Python 库!
    查看>>
    python | flower,一个强大的 Python 库!
    查看>>
    python | funcy,一个超强的 提供函数式编程工具 Python 库!
    查看>>
    python | ggplot,一个超强的 Python 库!
    查看>>
    python | grab,一个强大的 Python 库!
    查看>>
    python | rich,一个无敌的 Python 库!
    查看>>
    python | rq,一个无敌的 关于Redis 的Python 库!
    查看>>
    python | unoconv,一个超厉害的 Python 库!
    查看>>
    python | urllib3,一个超强的 Python 库!
    查看>>
    python | webassets,一个超强的 Python 库!
    查看>>
    python | werkzeug,一个不可思议的 Python 库!
    查看>>
    python | xlsxwriter,一个实用的 Python 库!
    查看>>
    python | xlwings,一个非常实用的 Excel 相关的 Python 库!
    查看>>
    python | 一文看懂Python闭包机制与变量作用域规则
    查看>>
    python读取含中文的json
    查看>>
    python | 如何用Python锁避免并发错误?
    查看>>
    python | 提升代码迭代速度的Python重载方法
    查看>>
    python | 深入理解Python并发编程中的GIL限制与解决方案
    查看>>
    Python | 爬虫实战——亚马逊搜索页监控(附详细源码)
    查看>>