当前位置: 首页 > article >正文

✅DAY31 贪心算法终 | 56. 合并区间 | 738.单调递增的数字

56. 合并区间

解题思路:跟之前的重叠题差不多,重点在更新上,通过result里的值进行调整而不是在原数组上变动

class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        result=[]
        if len(intervals)==0: return result

        intervals.sort(key=lambda x:x[0])
        result.append(intervals[0])

        for i in range(1, len(intervals)):
            if result[-1][1] >= intervals[i][0]: # 发现重叠区间
                result[-1][1] = max(result[-1][1], intervals[i][1])
            else:
                result.append(intervals[i])  # 区间不重叠
        return result

738. 单调递增的数字

解题思路:从后往前遍历,取两位数,如果前一位>后一位,

class Solution:
    def monotoneIncreasingDigits(self, n: int) -> int:
        strNum = list(str(n))

        for i in range(len(strNum)-1,0,-1):
            if strNum[i-1] > strNum[i]:
                flag = i
                strNum[i-1] =str(int(strNum[i-1]) -1)
                for j in range(i, len(strNum)):
                    strNum[j] = '9'

        return int(''.join(strNum))

http://www.kler.cn/a/403479.html

相关文章:

  • VXLAN说明
  • CSS布局学习2
  • 【IDER、PyCharm】免费AI编程工具完整教程:ChatGPT Free - Support Key call AI GPT-o1 Claude3.5
  • 【题解】—— LeetCode一周小结46
  • Python之time时间库
  • 《Python浪漫的烟花表白特效》
  • React Native 基础
  • 2025蓝桥杯(单片机)备赛--扩展外设之I2C的重要应用--AT24C02(七)
  • 快速删除 node_modules 目录的集中方法
  • 《原子操作:程序世界里的“最小魔法单位”解析》
  • 某杀软环境下的添加账户
  • OpenHarmony-3.驱动HDF
  • 简单工厂模式、方法工厂模式
  • GaussianDreamer: Fast Generation from Text to 3D Gaussians——点云论文阅读(11)
  • S5700交换机堆叠问题定位指导(Guidelines for locating Switch Stacking Issues)
  • PostgreSQL常用时间函数与时间计算提取示例说明
  • 基于Matlab的变压器仿真模型的建模方法(6):单相三绕组变压器的拉氏变换数学模型和仿真模型
  • 实验四:构建园区网(OSPF 动态路由)
  • 力扣—136.只出现一次的数字
  • 从壹开始解读Yolov11【源码研读系列】——Data.build.py:YOLO用于训练Train + 验证Val的无限数据集加载器DataLoader搭建
  • 【青牛科技】 GC1288散热风扇驱动芯片的理想替代者可替代LA6588 / 三洋
  • 嵌入式Linux的RTC读写操作应用
  • kotlin 协程 job的cancel与cancelAndJoin区别
  • Linux(命令格式详细+字符集 图片+大白话)
  • java-图算法
  • 【SpringMVC原理分析】