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

相关推荐
小O的算法实验室20 小时前
IEEE TASE,基于MPC的多无人机协同搜索竞争群体优化方法
算法
小飞学编程...20 小时前
【哈希表】
数据结构·哈希算法·散列表
码匠许师傅20 小时前
【C++ 面试真题】26. 聊聊 C++ 的智能指针
java·c++·面试
Tbisnic21 小时前
BGE-M3 算法详解:从模型架构到三种检索方式的数学原理
算法·自然语言处理·大模型·bert·transformer·注意力机制
Brilliantwxx21 小时前
【算法从零到千】【55-58】哈希位图+常见数学运算 接口
算法
空堂与归1 天前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
动词ing1 天前
【C语言】自定义函数+指针入门
c语言·开发语言·算法
重生之后端学习1 天前
283. 移动零[简单]✅
开发语言·数据结构·算法·leetcode·职场和发展
一只小小的芙厨1 天前
基础数论总结
笔记·学习·算法
动词ing1 天前
【C语言】结构体+文件基础
c语言·开发语言·数据结构