[228]Summary Ranges
2015-10-12 22:21
369 查看
【题目描述】
Given a sorted integer array without duplicates, return the summary of its ranges.
For example, given
【思路】
水题。略。
【代码】
class Solution {
public:
vector<string> summaryRanges(vector<int>& nums) {
int one,two;
vector<string> ans;
string str;
int n=nums.size();
if(n==0) return {};
one=two=nums[0];
for(int i=1;i<n;i++){
if(nums[i]!=(nums[i-1]+1)){
if(one==two) str=to_string(one);
else str=to_string(one)+"->"+to_string(two);
ans.push_back(str);
one=two=nums[i];
str="";
}
else{
two=nums[i];
}
}
if(one==two){
str=to_string(one);
ans.push_back(str);
}
else
{
str=to_string(one)+"->"+to_string(two);
ans.push_back(str);
}
return ans;
}
};
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"].
【思路】
水题。略。
【代码】
class Solution {
public:
vector<string> summaryRanges(vector<int>& nums) {
int one,two;
vector<string> ans;
string str;
int n=nums.size();
if(n==0) return {};
one=two=nums[0];
for(int i=1;i<n;i++){
if(nums[i]!=(nums[i-1]+1)){
if(one==two) str=to_string(one);
else str=to_string(one)+"->"+to_string(two);
ans.push_back(str);
one=two=nums[i];
str="";
}
else{
two=nums[i];
}
}
if(one==two){
str=to_string(one);
ans.push_back(str);
}
else
{
str=to_string(one)+"->"+to_string(two);
ans.push_back(str);
}
return ans;
}
};
相关文章推荐
- LightOJ 1427 Substring Frequency (II)(ac自动机水题)
- Java中的序列化与反序列化的深入理解
- 常量定义 const 和define
- js中的冒泡排序以及实现一个数组中得最到最大的数字小例
- 案例分析:从一则笑话分析需求的陷阱
- 对日期和时间的处理 NSCalendar
- 【C语言】 n个不同的数可组成多少个不同的三位数
- 渐进学习VIM
- 归并排序
- 第二章.《信息的表示和处理》
- AlarmManager流程
- bzoj4137 [FJOI2015]火星商店问题
- Oracle笔记 十四、查询XML操作、操作系统文件
- Oracle笔记 十三、PL/SQL面向对象之package
- UVa5846 Neon Sign
- ZOJ.1152 A Mathematical Curiosity 2015/10/12
- this指针的小结
- Josephus环的问题
- APU平台DirectX 12性能测试:超级大惊喜!
- slice()方法 和splice 方法的区别。。。