Given a sorted integer array where the range of elements are [lower, upper] inclusive, return its missing ranges.For example, given [0, 1, 3, 50, 75], lower = 0 and upper = 99, return ["2", "4->49", "51->74", "76->99"].
string buildRange(int start,int end){
string s = to_string(start);
if(start < end)
s += "->" + to_string(end);
return s;
}vector<string> findMissingRanges(int A[], int n, int lower, int upper){
vector<string>result;
int start = lower,end;
for(int i = 0;i < n;i++){
if(start < A[i]){
end = A[i] - 1;
result.push_back(buildRange(start,end));
}
start = A[i]+1;
}
end = upper;
if(start <= end)result.push_back(buildRange(start,end));
return result;
}
本文介绍了一种算法,用于找出已排序整数数组中指定范围[lower, upper]内的缺失区间。例如,对于数组[0,1,3,50,75]及范围[0,99],算法返回['2','4->49','51->74','76->99']。文章详细解释了如何构建缺失区间字符串并将其添加到结果向量中。
733

被折叠的 条评论
为什么被折叠?



