56. 合并区间
56. 合并区间 - 力扣(LeetCode)
class Solution {
public:
static bool cmp(const vector<int> &a, const vector<int> &b){
if(a[0] == b[0]){
return a[1] < b[1];
}
return a[0] < b[0];
}
vector<vector<int>> merge(vector<vector<int>>& intervals) {
vector<vector<int>> ans;
sort(intervals.begin(), intervals.end(), cmp);
int curStart = intervals[0][0],curEnd = intervals[0][1]; // 记录当前区间的左右边界
for(int i = 1; i < intervals.size(); i++){
if(intervals[i][0] > curEnd){
ans.push_back({curStart, curEnd});
curStart = intervals[i][0];
curEnd = intervals[i][1];
}else{
curEnd = max(curEnd, intervals[i][1]);
}
}
ans.push_back({curStart, curEnd});
return ans;
}
};
738.单调递增的数字
738. 单调递增的数字 - 力扣(LeetCode)
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string s = to_string(n);
int s_size = s.size();
int index = s_size;
for(int i = s_size - 1; i > 0; i--){
if(s[i - 1] > s[i]){
s[i - 1]--;
index = i;
}
}
for(int i = index; i < s_size; i++){
s[i] = '9';
}
return stoi(s);
}
};
968.监控二叉树
968. 监控二叉树 - 力扣(LeetCode)