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()将字符串类型转化为数值类型。

相关推荐
无忧.芙桃8 分钟前
C++内存管理
c语言·开发语言·c++·青少年编程
金金计较.14 分钟前
Go语言-2
开发语言·算法·golang
郝学胜_神的一滴23 分钟前
C++11 工程级应用 11:编译期黑魔法,告别重复烂代码
c++·visual studio
计算机编程-吉哥25 分钟前
基于机器学习的城市交通拥堵分析与预测平台【计算机毕业设计选题·机器学习·随机森林算法】
hadoop·算法·随机森林·机器学习·课程设计·计算机毕业设计选题·大数据毕业设计选题推荐
zyeyeye44 分钟前
C++入门:从HelloWorld到命名空间揭秘
c语言·开发语言·c++·算法
牧羊人.3331 小时前
动手学深度学习 04 | Dataset 和 DataLoader、数据增强
人工智能·pytorch·深度学习·算法
励志不掉头发的内向程序员1 小时前
【LibreCAD 2D架构】从 addHistory 到 RS_UndoCycle:LibreCAD 里的两套 History 与撤销机制
开发语言·c++·qt·学习·系统架构
elseif1231 小时前
【双指针/二分】P1102 A-B 数对
c++·算法·二分·双指针
电梯界知识分子1 小时前
江西抚州临川九尊府五层别墅:受限楼梯间里,全黑铝合金观光井道配曳引龙门架的落地记录
大数据·前端·网络·算法·家用电梯
雪落漂泊1 小时前
C++智能指针
开发语言·jvm·c++