365天挑战LeetCode1000题——Day 012 每日一题
文章目录
- 前言
- 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 每日一题相关推荐
- 365天挑战LeetCode1000题——Day 154 Knight
154天,12次竞赛,573道题目,拿到了knight. 算是到了新的一个阶段吧,正好接下来四周应该都打不了了,因为周末有实验课. 每日一题 class Solution {public:int nu ...
- [每日一题]0:每日一题汇总
每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++.以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交 ...
- 365天挑战LeetCode1000题——Day 014 每日一题 + 最长公共子序列
文章目录 1. [我能赢吗](https://leetcode.cn/problems/can-i-win/) 1.1 记忆化搜索+DFS+位运算 2. [最长公共子序列](https://leetc ...
- 365天挑战LeetCode1000题——Day 035 每日一题 + 二分查找 13
文章目录 1260. 二维网格迁移 首刷自解 算法复杂度: O ( i ∗ m ∗ n ) O(i * m * n) O(i∗m∗n), 其中i是k取模m*n 更好的方法是一维展开,算出元素下一个要去 ...
- 365天挑战LeetCode1000题——Day 126 单调栈模板 500题纪念
用时126天,完成500题,平均4题/天,照这个速率,我还需要四个月完成1000题挑战. 单调栈模板 class Solution {public:vector<int> nextGrea ...
- 365天挑战LeetCode1000题——Day 260 800题
时过但境还没迁,一晃眼过去了4个月,在同样的位置发了博客. 今天完成了第八百道题,然后距离我的365天千题计划,还剩下100天左右,每天再保持两题的刷题量,就能完成我一年前定下的目标了.这也再次证明了 ...
- 365天挑战LeetCode1000题——Day 103 400题 检查二进制字符串字段 最大子序列交替和 最低票价 K 站中转内最便宜的航班
400题,用时103天,平均3.88题/天,预计154天,也就是5个月后完成目标 1784. 检查二进制字符串字段 代码实现(模拟) class Solution {public:bool check ...
- 365天挑战LeetCode1000题——Day 124 单调队列模板
单调队列模板 class MaxQueue {private:queue<int> origin;deque<int> dq; public:MaxQueue() {}int ...
- 365天挑战LeetCode1000题——Day 116 第315场周赛 「中国银联 力扣」
6204. 与对应负数同时存在的最大正整数 代码实现 class Solution {public:int findMaxK(vector<int>& nums) {sort(nu ...
最新文章
- Microsoft Dynamics SL (SOLOMON) 博客、新闻组和论坛
- 工作中如何做好技术积累
- Tensorflow实践:用神经网络训练分类器
- Currency Exchange(判断有无正环)
- 实例化新的Android片段的最佳做法
- 【重点:BFS】LeetCode 407. Trapping Rain Water II
- python实现画板功能并操作数据库
- java steam_Java,Steam控制器和我
- CorelDRAWX4的VBA插件开发(八)更改尺寸与移动
- C语言练习题 日期天数转换
- 自然语言处理十大应用
- [线性模型总结] 线性回归+方差分析+协方差分析+混合效应+面板数据模型
- Global.asax 文件是什么
- 网易云信七鱼市场总监姜菡钰:实战解读增长黑客在B端业务的运用
- 工学结合2019/9/17
- UDS 服务 Service 0x31 - RoutineControl
- python 字节流分段_如何在Python中编写简单代码,并且速度超越Spark?
- java.lang.ClassCastException: [Ljava.lang.Long; cannot be cast to java.util.List
- 恒源云(GPUSHARE)_未闻Prompt名(论文学习笔记)
- 公路车sava和Java_入门之作 意外惊喜 SAVA追风5.0公路车 评测