苏州 做网站网络营销的主要方法
738.单调递增的数字
题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
解题思路:一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),首先想让strNum[i - 1]--,然后strNum[i]给为9,这样这个整数就是89,即小于98的最大的单调递增整数。举个例子,数字:332,从前向后遍历的话,那么就把变成了329,此时2又小于了第一位的3了,真正的结果应该是299。
java:
class Solution {public int monotoneIncreasingDigits(int n) {String s = String.valueOf(n);char[] chars = s.toCharArray();int start = s.length();for (int i = s.length() - 2; i >= 0; i--) {if (chars[i] > chars[i + 1]) {chars[i]--;start = i+1;}}for (int i = start; i < s.length(); i++) {chars[i] = '9';}return Integer.parseInt(String.valueOf(chars));}
}
968.监控二叉树
题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
java:
class Solution {int res=0;public int minCameraCover(TreeNode root) {if(minCame(root)==0){res++;}return res;}public int minCame(TreeNode root){if(root==null){return 2;}int left=minCame(root.left);int right=minCame(root.right);if(left==2&&right==2){return 0;}else if(left==0||right==0){res++;return 1;}else{return 2;}}
}