- 合并区间
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end(), [](const vector<int>& a, const vector<int>& b ){
return a[0] < b[0];
});
vector<vector<int>> result;
for(int i = 1; i < intervals.size(); i++)
{
if(intervals[i][0] >= intervals[i - 1][0] && intervals[i][0] <= intervals[i - 1][1])
{
intervals[i][0] = intervals[i - 1][0];
intervals[i][1] = max(intervals[i][1], intervals[i - 1][1]);
}
else
{
result.push_back(intervals[i - 1]);
}
}
result.push_back(intervals.back());
return result;
}
};
- 单调递增的数字
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string str = to_string(n);
int flag = str.size();
for(int i = str.size() - 1; i > 0; i--)
{
if(str[i - 1] > str[i])
{
str[i - 1]--;
flag = i;
}
}
for(int i = flag; i < str.size(); i++)
{
str[i] = '9';
}
return stoi(str);
}
};