首页 > 其他 > 详细

Summary Ranges

时间:2015-09-12 17:35:58      阅读:200      评论:0      收藏:0      [点我收藏+]
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;
    }
}

 

Summary Ranges

原文:http://www.cnblogs.com/lasclocker/p/4803255.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!