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

C语言 | Leetcode C语言题解之第436题寻找右区间

题目:

题解:

typedef struct {
    int start;
    int index;
} Node;

int cmp(const void *pa, const void *pb) {
    return ((Node *)pa)->start - ((Node *)pb)->start;
}

int* findRightInterval(int** intervals, int intervalsSize, int* intervalsColSize, int* returnSize){
    Node * startIntervals = (Node *)malloc(sizeof(Node) * intervalsSize);
    Node * endIntervals = (Node *)malloc(sizeof(Node) * intervalsSize);
    for (int i = 0; i < intervalsSize; i++) {
        startIntervals[i].start = intervals[i][0];
        startIntervals[i].index = i;
        endIntervals[i].start = intervals[i][1];
        endIntervals[i].index = i;
    }
    qsort(startIntervals, intervalsSize, sizeof(Node), cmp);
    qsort(endIntervals, intervalsSize, sizeof(Node), cmp);

    int * ans = (int *)malloc(sizeof(int) * intervalsSize);
    for (int i = 0, j = 0; i < intervalsSize; i++) {
        while (j < intervalsSize && endIntervals[i].start > startIntervals[j].start) {
            j++;
        }
        if (j < intervalsSize) {
            ans[endIntervals[i].index] = startIntervals[j].index;
        } else {
            ans[endIntervals[i].index] = -1;
        }
    }
    *returnSize = intervalsSize;
    free(startIntervals);
    free(endIntervals);
    return ans;
}

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

相关文章:

  • 2019-Android-高级面试题总结-从java语言到AIDL使用与原理
  • Pandas库的常用内容归纳
  • 语音合成的预训练模型
  • 如何有效防止和解决IP劫持问题
  • Web3D交互展示:重塑产品展示的新维度
  • 解决 Mac 系统上的 node-sass 问题
  • 华为HarmonyOS地图服务 5 - 利用UI控件和手势进行地图交互
  • Go语言设计的一些优点及缺陷
  • 语音音频(wav)声纹识别-技术实现-python
  • Debian与Ubuntu:深入解读两大Linux发行版的历史与联系
  • react crash course 2024(5) useState钩子
  • mac终端打开报complete 13 command not found compdef异常处理以及命令补全功能实现
  • 详细分析SpringMvc中HandlerInterceptor拦截器的基本知识(附Demo)
  • java知识:什么是GC?GC调优思路又有哪些
  • C++深入学习string类成员函数(1):默认与迭代
  • 聚观早报 | 小米新车规划曝光;北京汽车官宣更换标志
  • Django后台管理复杂模型
  • 【JVM】类加载机制
  • leetcode-189:轮转数组
  • 阿尔兹海默症患者出行随身助手设计_kaic
  • 【洛谷】P10417 [蓝桥杯 2023 国 A] 第 K 小的和 的题解
  • 免费制作证件照的小程序源码
  • 机器学习EDA探查工具Pandas profiling
  • nvm以及npm源配置
  • 注意力机制篇 | YOLOv8改进之在C2f模块引入EffectiveSE注意力模块 | 基于SE注意力
  • 聚观早报 | 豆包视频生成大模型发布;华为纯血鸿蒙将开启公测