博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Summary Ranges
阅读量:5325 次
发布时间:2019-06-14

本文共 1690 字,大约阅读时间需要 5 分钟。

题目:

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"].

cpp:

class Solution {public:    vector
summaryRanges(vector
& nums) { vector
result; if (nums.empty()) return result; int start = nums[0]; int end = nums[0]; int len = nums.size(); for (int i = 1; i < len; i++) { if ( nums[i] == nums[i - 1] || nums[i] == (nums[i-1]+1)) { end = nums[i]; } else { result.push_back(format(start,end)); start = nums[i]; end = start; } } result.push_back(format(start,end)); return result; }// string format(int begin,int end){// char buffer[32];// if(begin == end){// sprintf(buffer,"%d",begin);// }else{// sprintf(buffer,"%d->%d",begin,end);// }// return string(buffer);// } string format(int begin,int end){ stringstream ss; if(begin == end){ ss << begin; }else{ ss << begin << "->" << end; } return ss.str(); }};

python:

class Solution(object):    def summaryRanges(self, nums):        x, size = 0, len(nums);        result = []        while x < size:            c, r = x, str(nums[x])            while x + 1 < size and nums[x + 1] == nums[x] + 1:                x += 1            if x > c:                r += "->" + str(nums[x])            result.append(r)            x += 1        return result;

 

转载于:https://www.cnblogs.com/wxquare/p/5222121.html

你可能感兴趣的文章
oracle job
查看>>
Redis常用命令
查看>>
EFCode First 导航属性
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
git 的回退
查看>>
IOS开发学习笔记026-UITableView的使用
查看>>
Confluence配置数据库
查看>>
Java锁机制(一)synchronized
查看>>
002.文件删除功能
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
06-redis主从
查看>>
linux下面桌面的安装
查看>>
thinkphp如何实现伪静态
查看>>
作业引擎quartz.net --- 监听链
查看>>
iframe传参数
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>
C语言学习记录_2019.02.06
查看>>