力扣-数组-228 汇总区间
解析
根据题目和参考样例可以看出,最小区间的方法就是保证左右区间内的元素递增值为1,如果不为1,就单独放在一个区间里
代码
class Solution {
public:
vector<string> summaryRanges(vector<int>& nums) {
vector<string> res;
for (int i = 0; i < nums.size(); ) {
for (int j = i; j < nums.size(); j++) {
long long jj = nums[j];
long long ii = nums[i];
if (jj - ii > j - i) {
ostringstream oss;
if (i == j - 1) {
oss << nums[i];
} else {
oss << nums[i] << "->" << nums[j - 1];
}
res.push_back(oss.str());
i = j;
}
if (j == nums.size() - 1) {
ostringstream oss;
if (i == j) {
oss << nums[i];
} else {
oss << nums[i] << "->" << nums[j];
}
res.push_back(oss.str());
i = nums.size();
}
}
}
return res;
}
};
原文地址:https://blog.csdn.net/qq_45964225/article/details/145186013
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!