LeetCode646.最长数对链

2023-11-04

题目描述:646. 最长数对链 - 力扣(LeetCode)

这是一道典型的贪心算法题,我们先对原数对进行排序,排序规则是按照数对的右边界值的大小进行升序排列。初始化变量end为升序后第一个数对的右边界值,这个数无疑是最小的右边界,之后依次遍历整个数对,出现左边界大于end就更新end值与最长数对值,这样能够取到的数对长度才有可能最长。

C语言代码如下:

static int compare(const void * a, const void * b)
{
    return ((*(int **)a)[1] - (*(int **)b)[1]);
}

int findLongestChain(int** pairs, int pairsSize, int* pairsColSize)
{
    qsort(pairs, pairsSize, sizeof(int *), compare);
    int longestsize = 1;
    int end = pairs[0][1];
    for (int i = 1; i < pairsSize; i++) {
        if (end < pairs[i][0]) {
            end = pairs[i][1];
            longestsize++;
        }
    }
    return longestsize;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode646.最长数对链 的相关文章

随机推荐

  • 如何快速的只取出列表中的数字

    my list a a a 1 2 3 4 5 A B C 提取出 12345 方法一 使用try方法测试 isalnum 判断是否是字母 my list a a a 1 2 3 4 5 A B C str1 for i in my lis
  • Elasticsearch 在Windows上安装和启动

    1 安装JDK 至少1 8以上 2 下载和解压缩Elasticsearch安装包 下载地址 https www elastic co cn downloads 3 启动Elasticsearch bin elasticsearch bat
  • H5存储方案——cookie、session、SessionStorage和LocalStorage

    1 简述 浏览器端存储网页中的数据有三种存储方案 cookie SessionStorage和LocalStorage 其中 SessionStorage和LocalStorage是H5新增的存储方案 而cookie经常同session一并
  • 数据结构之链表详解(2)——双向链表

    目录 前言 一 双向链表 A 双向链表的含义 B 双向链表的实现 1 双向链表的结构 2 链表的初始化 初始化图解 函数代码 3 动态申请节点函数 函数代码 4 打印双向链表函数 函数代码 5 尾部插入节点 图解 函数代码 测试 6 头插函
  • 关于指针的面试题,指向字符串和字符数组的单指针,二级指针,三级指针的使用。

    int a 3 4 0 printf d n sizeof a 48 printf d n sizeof a 0 0 4 printf d n sizeof a 0 16 printf d n sizeof a 0 1 4 地址 print
  • tkinter运行时卡住,点击按钮运行任务时界面卡住

    在tkinter中添加按钮 点击按钮在程序运行过程中tkinter界面会卡住 当运行完按钮任务 就好了 懒得自己写 在百度一搜整整一页都是一样的答案 看着一点都不方便 还得是自己动手丰衣足食 这种情况下 应该将耗时操作放在一个独立的线程中进
  • Vue.js 2.0 教程

    Vue js 介绍 Vue js 读音 vju 类似于 view 是一套构建用户界面的渐进式框架 Vue js 安装 全局安装 vue cli npm install global vue cli 创建一个基于 webpack 模板的新项目
  • linux idea 快捷键,Linux 下 IDEA 的 Ctrl+Alt+S

    前言 这是个困扰我一年多的问题 今天终于解决了 起因 一年前将主系统换成 Arch Linux 后 其他一切正常就是 IDEA 的打开设置的快捷键 ctrl alt s 失效 让我很是头疼 虽然不是很重要 但是对于我这种强迫症来说别提多难受
  • 大数据与云计算的关系

    就目前而言 要想发展好大数据 就离不开云计算 我们在进行大数据的时候同样也是离不开云计算的 于是很多人觉得大数据与云计算都有一定的关系 那么大家知道不知道大数据的云计算有什么关系呢 我们在这篇文章中给大家带来这个问题的答案 首先我们说一下大
  • Unity 解决添加自定义宏不生效的问题

    Unity版本 2020 3 平台 Android 问题描述 执行代码添加 删除宏定义 或者直接在PlayerSetting面板里直接添加 删除宏 通过if判断 获取的还是之前的 新增的宏并没有生效 代码添加 删除宏定义 添加宏定义 pri
  • 代码审计作业-area39/pikachu

    1 问答题 1 使用 docker 构建 pikachu镜像 1 搜索pikachu docker search pikachu 2 拉取镜像 docker pull area39 pikachu 3 启动pikachu镜像 docker
  • PaddlePaddle(3)——深度学习模型训练和关键参数调优详解

    转载请注明作者和出处 https blog csdn net qq 28810395 运行平台 Windows 10 AIstudio官网 https aistudio baidu com 飞桨领航团AI达人创造营 前言 1 什么是人工智能
  • ftp下载出现空文件,需要修改编码

    ftp下载出现空文件 需要修改编码 ftpClient retrieveFile new String ff getName getBytes gbk ISO 8859 1 is
  • Kafka集群的搭建以及java生产消费代码测试

    1 什么是Kafka 官网上 Kafka 用于构建实时数据管道和流式应用程序 它具有横向可扩展性 容错性 速度极快 在数千家公司的生产中运行 2 集群搭建准备 JDK Zookeeper集群 https blog csdn net qq 3
  • LDO原理简析

    LDO是低压差稳压器 并且是线性稳压器 只能用在降压的场景下 即输出电压只能比输入电压小 优点是负载响应快 并且十分稳定 纹波也比较小 缺点是输入电压和输出电压不能相差过大 负载也不能太大 并且效率较低 线性调节意谓着输入输出的电压差乘上平
  • Unity3D启动时卡在Loading界面

    首先说说我是怎么遇到这个问题的吧 当初是因为手贱无意中点了这个Sign out 退出当前用户 然后就一直卡在Loading界面死循环了 收集了一些网上的解决方法都不好使 难道是因为我是Mac系统的Unity 解决方案 一 Windows系统
  • 【待完善】python中调用 imread 报错: ImportError: cannot import name imread

    pip install Pillow 该问题排查有以下几种情况 未安装 Pillow库 scipy版本不对 ImportError cannot import name imread from scipy misc 是由于 imread i
  • 生成ltx文件命令_系统小技巧:实用简单的PowerShell命令

    从Windows 10 1703版开始 PowerShell取代了原命令提示符的位置 成为Windows管理的必备利器 然而许多普通Windows用户不知它的用途 其实 通过在PowerShell窗口中执行简单的命令 往往可以解决一些实际问
  • 2023/9/11 qt&c++

    include
  • LeetCode646.最长数对链

    题目描述 646 最长数对链 力扣 LeetCode 这是一道典型的贪心算法题 我们先对原数对进行排序 排序规则是按照数对的右边界值的大小进行升序排列 初始化变量end为升序后第一个数对的右边界值 这个数无疑是最小的右边界 之后依次遍历整个