#Leetcode# 228. Summary Ranges

https://leetcode.com/problems/summary-ranges/

Given a sorted integer array without duplicates, return the summary of its ranges.

Example 1:

Input:  [0,1,2,4,5,7]
Output: ["0->2","4->5","7"]
Explanation: 0,1,2 form a continuous range; 4,5 form a continuous range.

Example 2:

Input:  [0,2,3,4,6,8,9]
Output: ["0","2->4","6","8->9"]
Explanation: 2,3,4 form a continuous range; 8,9 form a continuous range.

代码:

class Solution {
public:
    vector<string> summaryRanges(vector<int>& nums) {
        int n = nums.size();
        vector<string> ans;
        int i = 0;
        while(i < n) {
            int j = 1;
            while(nums[i + j] - nums[i] == j && i + j < n) j ++;
            ans.push_back(j <= 1 ? to_string(nums[i]) : to_string(nums[i]) + "->" + to_string(nums[i + j - 1]));
            i += j;
        }
        return ans;
    }
};

  昨天玩的太累 今天实在是不想写 肥去逛超市 睡觉之前再撸题 8

猜你喜欢

转载自www.cnblogs.com/zlrrrr/p/10054488.html