Leetcode/Top Interview 150

[Intervals][Easy] 228. Summary Ranges

자전거통학 2024. 5. 8. 00:34

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

 

Q. 주어진 정렬된 정수 배열 nums의 범위를 아래와 같은 규칙의 string으로 표시하라.

 

 

Solution. 

 논리대로 코드를 작성한다. 

 다른 문제의 초석이 되는 구간 check 구현을 확인하는 문제. 

 

public IList<string> SummaryRanges(int[] nums) 
{
    IList<string> ret = new List<string>();
    if(nums.Length==0)  return ret;

    int start = nums[0];
    int cur = start;
    for(int q = 1; q < nums.Length; ++q)
    {
        if(nums[q] == cur+1)
            cur = nums[q];
        else 
        {
            if(start < cur)  ret.Add($"{start}->{cur}");
            else             ret.Add($"{start}");
            start = nums[q];
            cur = start;
        }
    }
    if(start < cur)  ret.Add($"{start}->{cur}");
    else             ret.Add($"{start}");
    return ret;
}

 

 

 

결과.