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

day37 贪心算法part6

738. 单调递增的数字

中等
提示
当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。

给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。

不知道怎么讲思路……以9287举例,从后往前遍历,87肯定不是递增的,那么是递增又满足小于87的最大数应该是79,然后变成9279,轮到27不满足,变成19,现在是9119,现在91不满足,变成89,最后满足的是8999。总之就是前一位减一,后一位变9.

难点:如何提取到每一位的数字并方便修改?最好把每一位拿下来,放到一个数组里,方便修改。

class Solution {public int monotoneIncreasingDigits(int n) {String s = String.valueOf(n); //装箱char[] chars = s.toCharArray();// flag用来标记赋值9从哪里开始// 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行int flag = chars.length;for (int i = chars.length - 1; i > 0; i--) { // 后往前遍历if ( chars[i] < chars[i - 1]) {chars[i - 1]--;// 标记不递增的地方是从哪里开始的,在那之后的都要变成9// 比如 93232,会被改为 89999, 100,会被改为99flag = i; }}// 省略了下面这个不行,遇到100这种,过不去for (int i = flag; i < chars.length; i++){chars[i] = '9';}return Integer.parseInt(new String(chars)); // 或者 Integer.parseInt(String.valueOf(chars))}
}

968. 监控二叉树

困难
给定一个二叉树,我们在树的节点上安装摄像头。

节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。

计算监控树的所有节点所需的最小摄像头数量。

听卡哥的建议,这个题一刷先跳过

贪心总结:

在这里插入图片描述

http://www.lryc.cn/news/313401.html

相关文章:

  • 38女神节:剧情热梗小游戏新品!预售1折秒杀,手慢无
  • 岩土工程监测仪器振弦采集仪的发展历程与国内外研究现状
  • Git 掌握
  • 面试题之——事务失效的八大情况
  • 一些硬件知识(六)
  • 前端React篇之哪些方法会触发 React 重新渲染?重新渲染 render 会做些什么?
  • PHP伪协议是什么?
  • npm使用
  • 美国国家安全局(NSA)和美国政府将Delphi/Object Pascal列为推荐政府机构和企业使用的内存安全编程语言
  • C++中的内部类
  • 华为“仓颉”不是中文编程:中文编程早有所属,势如破竹
  • Python的基本数据类型
  • 24考研有感
  • k8s中的PV和PVC存储介绍
  • SpringMVC--03--前端传数组给后台
  • 【C++干货基地】六大默认成员函数: This指针 | 构造函数 | 析构函数
  • 99.qt qml-单例程序实现
  • 【软件工程】可用性测试:提升软件、网站与产品用户体验的关键环节
  • EPLAN的国产平替软件?SuperWORKS自动化版尝鲜
  • 【MySQL 系列】MySQL 架构篇
  • C++初阶:类与对象(初篇)
  • Docker 创建容器并指定时区
  • springboot文件上传修改临时文件路径
  • testvue-新增图表功能(教师那边-后续放到管理员那边)-src/main.js ,router/index.js
  • [HackMyVM]Quick 2
  • Mybatis-Plus实现Service封装
  • 平台工程指南:从架构构建到职责分工
  • Docker系列之docker与docker-compose离线安装
  • css flex 布局换行
  • 使用腾讯云快速搭建WordPress网站流程详解