zoukankan      html  css  js  c++  java
  • LeetCode:228. 汇总区间

    1、题目描述

    给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。

    示例 1:

    输入: [0,1,2,4,5,7]
    输出: ["0->2","4->5","7"]
    解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。
    

    示例 2:

    输入: [0,2,3,4,6,8,9]
    输出: ["0","2->4","6","8->9"]
    解释: 2,3,4 可组成一个连续的区间; 8,9 可组成一个连续的区间。
    

    2、题解

    2.1、解法一

    class Solution(object):
        def summaryRanges(self, nums):
            """
            :type nums: List[int]
            :rtype: List[str]
            """
            n = len(nums)
            ret = []
            if n == 0:
                return []
            elif n == 1:
                ret.append("%s" % nums[0])
                return ret
            i = 0
            while i < n-1:
                j = i
                while j< n-1 and nums[j] + 1 == nums[j+1]:
                    j += 1
                print(i,j)
                if i==j:
                    ret.append("%s" % nums[j])
                else:
                    ret.append("%s->%s"%(nums[i],nums[j]))
                i =j+1
            print(j)
            j = j+1
            if j== n-1:
                ret.append("%s"%nums[j])
            elif j< n-1:
                ret.append("%s->%s" % (nums[j], nums[n-1]))
            print(ret)
            return ret
    

      

  • 相关阅读:
    Python学习笔记 第四天
    Python学习笔记 第三天
    linux系统优化(CentOS7)
    ARMS踩坑合集
    zabbix报错合集(附解决方法)
    keepalived
    ansible
    nginx
    安装虚拟机
    linux发展、redhat与centos的区别
  • 原文地址:https://www.cnblogs.com/bad-robot/p/10066280.html
Copyright © 2011-2022 走看看