zoukankan      html  css  js  c++  java
  • 228. Summary Ranges

    You are given a sorted unique integer array nums.

    Return the smallest sorted list of ranges that cover all the numbers in the array exactly. That is, each element of nums is covered by exactly one of the ranges, and there is no integer x such that x is in one of the ranges but not in nums.

    Each range [a,b] in the list should be output as:

    • "a->b" if a != b
    • "a" if a == b

    Example 1:

    Input: nums = [0,1,2,4,5,7]
    Output: ["0->2","4->5","7"]
    Explanation: The ranges are:
    [0,2] --> "0->2"
    [4,5] --> "4->5"
    [7,7] --> "7"
    

    Example 2:

    Input: nums = [0,2,3,4,6,8,9]
    Output: ["0","2->4","6","8->9"]
    Explanation: The ranges are:
    [0,0] --> "0"
    [2,4] --> "2->4"
    [6,6] --> "6"
    [8,9] --> "8->9"
    

    Example 3:

    Input: nums = []
    Output: []
    

    Example 4:

    Input: nums = [-1]
    Output: ["-1"]
    

    Example 5:

    Input: nums = [0]
    Output: ["0"]
    

    Constraints:

    • 0 <= nums.length <= 20
    • -231 <= nums[i] <= 231 - 1
    • All the values of nums are unique.

    two pointers, time = O(n), space = O(1)

    class Solution {
        public List<String> summaryRanges(int[] nums) {
            List<String> res = new ArrayList<>();
            if(nums == null || nums.length == 0) {
                return res;
            }
            
            for(int i = 0, j = 0; j < nums.length; j++) {
                if(j + 1 < nums.length && nums[j + 1] - nums[j] == 1) {
                    continue;
                }
                if(i == j) {
                    res.add(nums[i] + "");
                } else {
                    res.add(nums[i] + "->" + nums[j]);
                }
                i = j + 1;
            }
            return res;
        }
    }
  • 相关阅读:
    CSS实现底部固定
    ES6新特性--多行文本
    DataTable转实体
    jQuery插件开发
    页面可编辑
    clearfix--清除浮动
    前端日历控件推荐
    图片Base64编码
    第八周学习进度博客
    人月神话多后感01
  • 原文地址:https://www.cnblogs.com/fatttcat/p/13896476.html
Copyright © 2011-2022 走看看