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

leetcode做题笔记57

给你一个 无重叠的 ,按照区间起始端点排序的区间列表。

在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。

思路一:模拟题意

int pushbackInterval(int **result, int num, int *element, int *colSize) {result[num] = (int*)malloc(sizeof(int)*10);result[num][0] = element[0];result[num][1] = element[1];colSize[num] = 2;return num + 1;
}int** insert(int** intervals, int intervalsSize, int* intervalsColSize, int* newInterval, int newIntervalSize, int* returnSize, int** returnColumnSizes){int *insert = newInterval;int **result = (int**)malloc(sizeof(int*)*(intervalsSize+1));*returnColumnSizes = (int*)malloc(sizeof(int)*(intervalsSize+1));int num = 0;for (int i = 0; i < intervalsSize; i++) {int *e = intervals[i];if (!insert) {num = pushbackInterval(result, num, e, *returnColumnSizes);continue;}if (e[1] < insert[0]) {num = pushbackInterval(result, num, e, *returnColumnSizes);continue;}if (e[0] > insert[1]) {num = pushbackInterval(result, num, insert, *returnColumnSizes);insert = NULL;num = pushbackInterval(result, num, e, *returnColumnSizes);continue;}insert[0] = insert[0] < e[0] ? insert[0] : e[0];insert[1] = insert[1] > e[1] ? insert[1] : e[1];}if (insert) {num = pushbackInterval(result, num, insert, *returnColumnSizes);}*returnSize = num;return result;
}

分析:

本题与上题很像,可将新的数组加入原数组中采用上一题的代码即可做出,同时也可以编写一个函数来使两个重叠的数组合并,result[num][0] = element[0];result[num][1] = element[1];colSize[num] = 2;return num + 1;便可将数组赋为正确值,最后输出即可

总结:

本题考察对数组的应用,将新增的数组与原二维数组合并可解决问题

http://www.lryc.cn/news/117450.html

相关文章:

  • SAP Fiori 将GUI中的自开发报表添加到Fiori 工作台
  • 【Docker】配置指定大小的磁盘空间
  • 使用Spring五大注解来更加简单的存储Bean对象
  • Netty面试题1
  • 水质分析积分球定义和原理
  • 自然语言处理从入门到应用——LangChain:记忆(Memory)-[基础知识]
  • phpstorm添加vue 标签属性绑定提示和提示vue的方法提示
  • 从计算到人类知识:ChatGPT与智能演化
  • Leetcode每日一题:2681. 英雄的力量(2023.8.1 C++)
  • 【学习】若依源码(前后端分离版)之 “ 异常处理”
  • 天花板级,Python接口自动化测试-接口关联封装调用(实例)
  • yolov5代码解读之yolo.py【网络结构】
  • Docker之jenkins部署harbor在harbor中完成部署
  • 安装Jenkins
  • 大运空瓶行动,绘就生态文明画卷
  • tomcat7.exe 启动闪退解决
  • java修改jar包中的配置文件
  • 半导体器件||的学习
  • jenkins流水线
  • 视频监控汇聚EasyCVR平台WebRTC流地址无法播放的原因排查
  • NOSQL——redis的安装,配置与简单操作
  • 《合成孔径雷达成像算法与实现》Figure3.7
  • Linux 目录结构
  • 7天获英国名校邀请函|CSC青骨获批成功案例补记
  • ffmpeg ts列表合并为mp4
  • MATLAB程序初始化OpenFOAM颗粒位置
  • 软件第三方CMA、CNAS测试的目的和意义,信息化建设验收测试依据是什么?
  • CNN成长路:从AlexNet到EfficientNet(02)
  • 【Kubernetes】yaml文件格式
  • Python web实战之Django的文件上传和处理详解