LeetCode|Summary Ranges
来源:互联网 发布:php eval返回值 编辑:程序博客网 时间:2024/04/29 04:30
Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given [0,1,2,4,5,7], return [“0->2”,”4->5”,”7”].
注意:有INT_MAX和INT_MIN,减法小心溢出,还有-INT_MIN也会溢出
class Solution {public: vector<string> summaryRanges(vector<int>& nums) { vector<string> res; int len = nums.size(), cnt = 1; if(len == 0) return res; string str = int2str(nums[0]); nums.push_back(nums[len-1] + 2); // add a termiator, abs(diff) = 2 for(int i = 1; i <= len; i++){ if( (long long)nums[i]-nums[i-1] == 1) { cnt++; } else { if(cnt == 1) res.push_back(str); else res.push_back(str + "->" + int2str(nums[i-1])); cnt = 1; str = int2str(nums[i]); } } return res; }private: string int2str(long long x){ if(x == 0) return "0"; bool isNeg = (x < 0); if(x < 0) x = -x; stack<char> s; while(x != 0){ s.push(x%10+'0'); x /= 10; } string res; if(isNeg) res = "-"; while(!s.empty()){ res += s.top(); s.pop(); } return res; }};
0 0
- leetcode 228: Summary Ranges
- Leetcode 228 Summary Ranges
- leetcode--Summary Ranges
- LeetCode 228: Summary Ranges
- [leetcode] Summary Ranges
- 【Leetcode】Summary Ranges
- Summary Ranges - LeetCode 228
- 【LeetCode】Summary Ranges
- [LeetCode]Summary Ranges
- [leetcode] Summary Ranges
- [leetcode][array] Summary Ranges
- leetcode[228]:Summary Ranges
- [LeetCode] Summary Ranges
- #leetcode#Summary Ranges
- leetcode summary-ranges
- Leetcode|Summary Ranges
- [leetCode] Summary Ranges
- [leetcode]Summary Ranges
- es6改进es5中的一些坑
- 自定义ImageLoader实现图片加载线程池、图片缓存
- 一看就懂的设计模式(四,策略模式)
- 一看就懂的设计模式(五,单例模式)
- YARN基本框架介绍
- LeetCode|Summary Ranges
- linux redis日志文件路径的设置
- 【经典算法】——KMP,深入讲解next数组的求解
- APP开发实战30-HTTP头字段介绍2
- I/O中的同步 异步 阻塞 非阻塞
- 架构师需要解决哪些问题
- spring错误提示:nested exception is org.xml.sax.SAXParseException; lineNumber: 10; columnNum原因
- 原因可能是托管的PInvoke签名与非托管的目标签名不匹配
- 程序是怎样跑起来的-第05章 内存和磁盘的亲密关系