贪心算法习题其四【力扣】【算法学习day.21】
前言
###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
习题
1.单调递增的数字
题目链接:738. 单调递增的数字 - 力扣(LeetCode)
题面:
基本分析:找到不满足的索引让其减一,后面全为9,这是关键步骤
代码:
class Solution {
public int monotoneIncreasingDigits(int N) {
char[] arr = (N + "").toCharArray();
int max = -1, idx = -1;
for (int i = 0; i < arr.length - 1; i++) {
if (max < arr[i]) {
max = arr[i];
idx = i;
}
if (arr[i] > arr[i + 1]) {
arr[idx] -= 1;
for(int j = idx + 1;j < arr.length;j++) {
arr[j] = '9';
}
break;
}
}
return Integer.parseInt(new String(arr));
}
}
后言
上面是贪心算法的部分习题,希望有所帮助,一同进步,共勉!
原文地址:https://blog.csdn.net/2301_79232523/article/details/143470302
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!