DAY36贪心算法Ⅴ

56. 合并区间 - 力扣(LeetCode)

cpp 复制代码
class Solution {
static bool cmp(vector<int>&a,vector<int>&b){
    return a[0] < b[0];
}
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        sort(intervals.begin(),intervals.end(),cmp);
        vector<vector<int>>result;
        result.push_back(intervals[0]);
        for(int i=1;i<intervals.size();i++){
            if(result.back()[1] >= intervals[i][0]){
                result.back()[1]=max(intervals[i][1],result.back()[1]);
            }
            else{
                result.push_back(intervals[i]);
            }
        }
        return result;
    }
};

和之前做的题很像,先排序、将第一个元素放入结果中根据边界条件不断更新数组边界。

738. 单调递增的数字 - 力扣(LeetCode)

cpp 复制代码
class Solution {
public:
    int monotoneIncreasingDigits(int n) {
        string res = to_string(n);
        int flag=res.size();
        for(int i=res.size()-1;i>0;i--){
            if(res[i-1]>res[i]){
                flag=i;
                res[i-1]--;
            }
        }
        for(int i=flag;i<res.size();i++){
            res[i]='9';
        }
        return stoi(res);
    }
};

需要记住两个标准库函数的使用:

to_string()将数值类型转化为字符串类型。

stoi()将字符串类型转化为数值类型。

相关推荐
C++、Java和Python的菜鸟27 分钟前
第六章 统计初步
算法·机器学习·概率论
Cx330❀27 分钟前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散11237 分钟前
01数据结构-Prim算法
数据结构·算法·图论
起个昵称吧1 小时前
线程相关编程、线程间通信、互斥锁
linux·算法
阿巴~阿巴~1 小时前
深入解析C++ STL链表(List)模拟实现
开发语言·c++·链表·stl·list
..过云雨1 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
myzzb2 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa
拂晓银砾2 小时前
Java数据结构-栈
java·数据结构
旺小仔.2 小时前
双指针和codetop复习
数据结构·c++·算法
jingfeng5142 小时前
C++ STL-string类底层实现
前端·c++·算法