zoukankan      html  css  js  c++  java
  • [leetcode] 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"].

    Java代码如下:

    public class Solution {
    
        private List<String> sR = new ArrayList<String>();
        private StringBuilder sb = new StringBuilder();
        private boolean flag = false;
        private int start, tmp;
        
        public List<String> summaryRanges(int[] nums) {
            if (nums.length == 0) {
                return sR;
            }
            for (int i = 0; i < nums.length; i++) {
                if (i == 0) {
                    start = nums[i];
                    tmp = nums[i];
                    continue;
                }
                if (nums[i] - tmp == 1) {
                    tmp = nums[i];
                    flag = true;
                    continue;
                } else if (flag) {
                    sb.delete(0, sb.length());
                    sb.append(start + "->" + tmp);
                    sR.add(sb.toString());
                    flag = false;
                } else {
                    sR.add(Integer.toString(tmp));
                }
                start = nums[i];
                tmp = nums[i];
            }
            if (flag) {
                sb.delete(0, sb.length());
                sb.append(start + "->" + nums[nums.length - 1]);
                sR.add(sb.toString());
            } else {
                sR.add(Integer.toString(nums[nums.length - 1]));
            }
            return sR;
        }
    }
  • 相关阅读:
    Linux文本检索命令grep笔记
    Python中字典的相关操作
    Go 语言函数闭包
    Go 语言多维数组
    Go 错误处理
    Go 语言接口
    Go 语言类型转换
    Go 语言递归函数
    Go 语言Map(集合)
    Go 语言范围(Range)
  • 原文地址:https://www.cnblogs.com/lasclocker/p/4803255.html
Copyright © 2011-2022 走看看