网站怎么做才美观,网站过期怎么办,做电影网站都需要什么手续,wordpress如何添加自定义商品链接738. 单调递增的数字
中等 提示 当且仅当每个相邻位数上的数字 x 和 y 满足 x y 时#xff0c;我们称这个整数是单调递增的。
给定一个整数 n #xff0c;返回 小于或等于 n 的最大数字#xff0c;且数字呈 单调递增 。
不知道怎么讲思路……以9287举例#xff0c;…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. 监控二叉树
困难 给定一个二叉树我们在树的节点上安装摄像头。
节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。
计算监控树的所有节点所需的最小摄像头数量。
听卡哥的建议这个题一刷先跳过
贪心总结