228. 汇总区间

Posted yuhong1103

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了228. 汇总区间相关的知识,希望对你有一定的参考价值。

 1 //简单题
 2 class Solution 
 3 {
 4 public:
 5     vector<string> summaryRanges(vector<int>& nums) 
 6     {
 7         vector<string> res;
 8         if(nums.empty()) return res;
 9         vector<pair<int,int>> vec;
10         int n = nums.size();
11         int begin = 0;
12         for(int i = 1;i < n;i ++)
13         {
14             if((long long)nums[i] - nums[i - 1] != 1) 
15             {
16                 vec.push_back({begin, i - 1});
17                 begin = i;
18             }
19         }
20         vec.push_back({begin,n - 1});
21 
22         for(auto a : vec)
23         {
24             if(a.first == a.second) res.push_back(to_string(nums[a.first]));
25             else 
26             {
27                 string temp = to_string(nums[a.first]) + "->" + to_string(nums[a.second]);
28                 res.push_back(temp);
29             }
30         }
31         return res;
32     }
33 };

 

以上是关于228. 汇总区间的主要内容,如果未能解决你的问题,请参考以下文章

228. 汇总区间

leetcode-228-汇总区间

数组228. 汇总区间

LeetCode 0228. 汇总区间

LeetCode算法,每日一题,冲击阿里巴巴,day6

UOJ#228基础数据结构练习题 线段树