当前位置: 首页 > article >正文

leetcode 1539.第k个缺失的正整数

这个题作者就当作是练习C++的STL容器来做的,也就是暴力硬解吧。

思路:按照数据范围,我们再创造一个全集,利用差集的概念来求出来arr所没有的元素,放到结果数组里面,然后再对位置进行筛选。

注意:这里的位置可能会超过数组的数目,所以当超过数组数目的时候,一定就是在1000之外的数了(这是根据数据范围来判断的),所以需要用想知道的位置数减去个数组的数目再加上1000,因为这些数字都是严格递增的。

set_difference函数就是用来求出两个数组中,后者数组在前者数组中没有的元素。

class Solution {
public:
    int findKthPositive(vector<int>& arr, int k) {
        vector<int>s(1000);
        int y=0;
        for(int i=1;i<=1000;i++)
        s[y++]=i;
        vector<int>res(1000);
        auto it=set_difference(s.begin(),s.end(),arr.begin(),arr.end(),res.begin());
        res.resize(it-res.begin());
        int haha=res[k-1];
        if(res.size()<k)
        haha+=1000+k-res.size();
        return haha;
    }
};


http://www.kler.cn/a/231392.html

相关文章:

  • Office-Tab-for-Mac Office 窗口标签化,Office 多文件标签化管理
  • 2024年11月19日Github流行趋势
  • Spring Boot 中使用 @Transactional 注解配置事务管理
  • 湘潭大学软件工程算法设计与分析考试复习笔记(三)
  • 2024年低压电工证考试题库及低压电工试题解析
  • TON商城与Telegram App:生态融合与去中心化未来的精彩碰撞
  • 信号的处理机制
  • Springboot使用kafka的两种方式
  • SQL 注入 - http头注入之UA头注入探测
  • 数据库管理-第146期 最强Oracle监控EMCC深入使用-03(20240206)
  • 中兴R5300G4服务器查看服务器、主板序列号及硬盘RAID信息
  • Netty源码系列 之 AbstractUnsafe 高低水位线 ChannelOutboundBuffer 源码
  • redis集群配置
  • gcore服务器设置root账号密码登录
  • LeetCode 491 递增序列
  • 行为型设计模式—备忘录模式
  • 正点原子--STM32基本定时器学习笔记(2)
  • canvas绘制横竖坐标轴(带有箭头和刻度)
  • 飞天使-k8s知识点16-kubernetes实操1-pod
  • 堆排序-Python实现
  • 风行智能电视N39S、N40 强制刷机升级方法,附刷机升级数据MstarUpgrade.bin
  • B站UP主实时信息获取展示php源码
  • 详细分析python中的 async 和 await(附Demo)
  • [python]基于opencv实现的车道线检测
  • C程序设计(第5版)谭浩强习题解答 第8章 善于利用指针
  • 2023年ABC123公众号年刊下载(PDF电子书)