LeetCode题解——Data Stream as Disjoint Intervals
来源:互联网 发布:网络推广优化 编辑:程序博客网 时间:2024/06/07 16:39
Given a data stream input of non-negative integers a1, a2, ..., an, ..., summarize the numbers seen so far as a list of disjoint intervals.
For example, suppose the integers from the data stream are 1, 3, 7, 2, 6, ..., then the summary will be:
[1, 1][1, 1], [3, 3][1, 1], [3, 3], [7, 7][1, 3], [7, 7][1, 3], [6, 7]
struct Interval { int start; int end; Interval() : start(0), end(0) {} Interval(int s, int e) : start(s), end(e) {} }; class SummaryRanges {public: void addNum(int val) {auto Cmp = [](Interval a, Interval b) { return a.start < b.start; }; auto it = lower_bound(vec.begin(), vec.end(), Interval(val, val), Cmp); int start = val, end = val; if(it != vec.begin() && (it-1)->end+1 >= val) it--; while(it != vec.end() && val+1 >= it->start && val-1 <= it->end) { start = min(start, it->start); end = max(end, it->end); it = vec.erase(it); } vec.insert(it,Interval(start, end)); } vector<Interval> getIntervals() { return vec; }private: vector<Interval> vec;};
0 0
- LeetCode题解——Data Stream as Disjoint Intervals
- LeetCode—352. Data Stream as Disjoint Intervals
- 【leetcode】Data Stream as Disjoint Intervals
- leetcode.352. Data Stream as Disjoint Intervals
- leetcode:Data Stream as Disjoint Intervals(352)
- LeetCode #352: Data Stream as Disjoint Intervals
- [LeetCode]352. Data Stream as Disjoint Intervals
- leetcode 352. Data Stream as Disjoint Intervals
- [leetcode]352. Data Stream as Disjoint Intervals
- Leetcode352——Data Stream as Disjoint Intervals
- Data Stream as Disjoint Intervals
- Data Stream as Disjoint Intervals
- Data Stream as Disjoint Intervals
- [leetcode] 352. Data Stream as Disjoint Intervals 解题报告
- LeetCode 352. Data Stream as Disjoint Intervals(数据流区间)
- [leetcode-352]Data Stream as Disjoint Intervals(java)
- [Leetcode] 352. Data Stream as Disjoint Intervals 解题报告
- leetcode 352. Data Stream as Disjoint Intervals 学习TreeSet
- 第十四周阅读程序3
- 第12 周 项目三
- 两个成员的类模板
- css基础
- [C++基础]队列<queue>中的常用函数
- LeetCode题解——Data Stream as Disjoint Intervals
- 分数类中的运算符重载
- 手动开发动态资源之servlet初步
- Android-Apk插件化研究
- Unity中的XML文件创建,读取,修改,添加
- 第14周阅读程序(1)
- 使用Chrome来调试你的Android App
- Design库-TabLayout属性详解
- javaweb文件下载方式总结