zoukankan      html  css  js  c++  java
  • summary ranges leetcode java

    问题描述:

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

    给定一个排好序的数组,用区间范围进行概括该数组后,返回新的区间范围数组。

    算法:

    //返回范围
    public static List<String> changes(int[] nums){
        //当nums为空时,应该返回[]
      List<String> list = new ArrayList<String>();
      if(nums == null || nums.length == 0) //对于这种类型的返回值,都是预先设定一个list,然后判断后直接返回list,而不是单独返回null
        return list;
      int begin = nums[0];
      String range = "";
      for(int i = 1; i < nums.length ; i++){
        if(nums[i] - nums[i - 1] == 1)
          continue;
        else {
           if(begin == nums[i - 1]) //若一个数成为一个分段
              range = begin + "";
           else { //若连续几个数成为一个分段
              range = begin + "->" + nums[i - 1];
             }
              list.add(range); //加入一个分段到list中
           begin = nums[i]; //设定下一个分段的初始值
        }
       }
      //对最后一个范围进行特殊处理
      if(begin == nums[nums.length - 1])
        range = begin + "";
      else
        range = begin + "->" + nums[nums.length - 1];
      list.add(range);
      return list;
    }
  • 相关阅读:
    如何去掉修改Joomla、joomlart及其模版版权、标志、图标的方法
    如何joomla修改版权信息
    嫌我的键盘的backspace太小,就尝试了一下改键工具--keyTweak
    css3 -- 过渡与动画
    css3 -- 2D变换
    css3 -- 渐变
    css3 -- 颜色与不透明度
    css3 -- 背景图处理
    css3 -- 多列
    css3 -- 文本
  • 原文地址:https://www.cnblogs.com/mydesky2012/p/5034975.html
Copyright © 2011-2022 走看看