文章目录

  • 前言
  • 1. [寻找右区间](https://leetcode.cn/problems/find-right-interval/)
    • 1.1 二分查找
  • 总结

前言

今天还是一题,但是重新学习了快排,堆排以及第K小数,写在另外一个文档里面……


1. 寻找右区间

给你一个区间数组 intervals ,其中 intervals[i] = [starti, endi] ,且每个 starti 都 不同 。

区间 i 的 右侧区间 可以记作区间 j ,并满足 startj >= endi ,且 startj 最小化 。

返回一个由每个区间 i 的 右侧区间 在 intervals 中对应下标组成的数组。如果某个区间 i 不存在对应的 右侧区间 ,则下标 i 处的值设为 -1 。

1.1 二分查找

这题用暴力会寄。
利用C++提供的lower_bound()进行二分查找,先将所有的左区间与下标组成的pair加入一个vector中,然后进行排序,然后对每个右区间调用lower_bound()。

class Solution {public:vector<int> findRightInterval(vector<vector<int>>& intervals) {int n = intervals.size();vector<pair<int, int>> startIntervals;for (int i = 0; i < n; i++) {startIntervals.emplace_back(intervals[i][0], i);}sort(startIntervals.begin(), startIntervals.end());vector<int> ans(n, - 1);for (int i = 0; i < n; i++) {auto it = lower_bound(startIntervals.begin(), startIntervals.end(), make_pair(intervals[i][1], 0));if (it != startIntervals.end()) {ans[i] = it->second;}}return ans;}
};

总结

今天把操作系统实验检查完了,还是比较开心的,当然感觉和班上的大佬还有差距啊,继续加油吧!

365天挑战LeetCode1000题——Day 012 每日一题相关推荐

  1. 365天挑战LeetCode1000题——Day 154 Knight

    154天,12次竞赛,573道题目,拿到了knight. 算是到了新的一个阶段吧,正好接下来四周应该都打不了了,因为周末有实验课. 每日一题 class Solution {public:int nu ...

  2. [每日一题]0:每日一题汇总

    每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++.以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交 ...

  3. 365天挑战LeetCode1000题——Day 014 每日一题 + 最长公共子序列

    文章目录 1. [我能赢吗](https://leetcode.cn/problems/can-i-win/) 1.1 记忆化搜索+DFS+位运算 2. [最长公共子序列](https://leetc ...

  4. 365天挑战LeetCode1000题——Day 035 每日一题 + 二分查找 13

    文章目录 1260. 二维网格迁移 首刷自解 算法复杂度: O ( i ∗ m ∗ n ) O(i * m * n) O(i∗m∗n), 其中i是k取模m*n 更好的方法是一维展开,算出元素下一个要去 ...

  5. 365天挑战LeetCode1000题——Day 126 单调栈模板 500题纪念

    用时126天,完成500题,平均4题/天,照这个速率,我还需要四个月完成1000题挑战. 单调栈模板 class Solution {public:vector<int> nextGrea ...

  6. 365天挑战LeetCode1000题——Day 260 800题

    时过但境还没迁,一晃眼过去了4个月,在同样的位置发了博客. 今天完成了第八百道题,然后距离我的365天千题计划,还剩下100天左右,每天再保持两题的刷题量,就能完成我一年前定下的目标了.这也再次证明了 ...

  7. 365天挑战LeetCode1000题——Day 103 400题 检查二进制字符串字段 最大子序列交替和 最低票价 K 站中转内最便宜的航班

    400题,用时103天,平均3.88题/天,预计154天,也就是5个月后完成目标 1784. 检查二进制字符串字段 代码实现(模拟) class Solution {public:bool check ...

  8. 365天挑战LeetCode1000题——Day 124 单调队列模板

    单调队列模板 class MaxQueue {private:queue<int> origin;deque<int> dq; public:MaxQueue() {}int ...

  9. 365天挑战LeetCode1000题——Day 116 第315场周赛 「中国银联 力扣」

    6204. 与对应负数同时存在的最大正整数 代码实现 class Solution {public:int findMaxK(vector<int>& nums) {sort(nu ...

最新文章

  1. Microsoft Dynamics SL (SOLOMON) 博客、新闻组和论坛
  2. 工作中如何做好技术积累
  3. Tensorflow实践:用神经网络训练分类器
  4. Currency Exchange(判断有无正环)
  5. 实例化新的Android片段的最佳做法
  6. 【重点:BFS】LeetCode 407. Trapping Rain Water II
  7. python实现画板功能并操作数据库
  8. java steam_Java,Steam控制器和我
  9. CorelDRAWX4的VBA插件开发(八)更改尺寸与移动
  10. C语言练习题 日期天数转换
  11. 自然语言处理十大应用
  12. [线性模型总结] 线性回归+方差分析+协方差分析+混合效应+面板数据模型
  13. Global.asax 文件是什么
  14. 网易云信七鱼市场总监姜菡钰:实战解读增长黑客在B端业务的运用
  15. 工学结合2019/9/17
  16. UDS 服务 Service 0x31 - RoutineControl
  17. python 字节流分段_如何在Python中编写简单代码,并且速度超越Spark?
  18. java.lang.ClassCastException: [Ljava.lang.Long; cannot be cast to java.util.List
  19. 恒源云(GPUSHARE)_未闻Prompt名(论文学习笔记)
  20. 公路车sava和Java_入门之作 意外惊喜 SAVA追风5.0公路车 评测

热门文章

  1. 三角形外接球万能公式_三棱锥外接球半径公式
  2. USER_用户_数据库知识点
  3. 函数式编程-Stream流(来源三更草堂)
  4. 牛客网小白月赛5 H-最大公约数(lcm)
  5. 给我两小时,我能写很长长长长长长的APP测试用例!
  6. Management By Objectives - MBO - 目标管理
  7. 宽带用户易被攻击 七大注意避免损失(转)
  8. Matplotlib空气质量数据分析(附数据集下载)
  9. 利用决策树算法在鲍鱼数据集上对年龄进行预测
  10. 玉米社:seo优化推广 网站收录一直不太好什么原因?