LeetCode-
来源:互联网 发布:软件测试网站大全 编辑:程序博客网 时间:2024/05/29 11:38
题目:
Given a non-negative integer N
, find the largest number that is less than or equal to N
with monotone increasing digits.
(Recall that an integer has monotone increasing digits if and only if each pair of adjacent digits x
and y
satisfy x <= y
.)
Example 1:
Input: N = 10Output: 9
Example 2:
Input: N = 1234Output: 1234
Example 3:
Input: N = 332Output: 299
Note: N
is an integer in the range [0, 10^9]
.
解读:给一个非负整数,找出不大于这个数的最大的数,使之各个位的数字从高位到地位呈单调递增。
思路:第一种是最差的办法:从这个数本身开始进行判断,若不符合则减一继续;
第二种,即本次的解题思路:从最低位开始,和前面一位数字作比较,如果大于前一位的数字,则前一位数字减一,后面的全替换为9.
循环到最高位,返回。
代码:
class Solution {public: int monotoneIncreasingDigits(int N) { stringstream ss; ss << N; string s = ss.str(); int length = s.length(); for(int i = length-1; i > 0; i--){ if(s[i] < s[i-1]) { s[i-1] = s[i-1] - 1; for(int j = i; j < length; j++) { s[j] = '9'; } } } int result = N; stringstream ss1; ss1 << s; ss1 >> result; return result; }};
阅读全文
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- java--集合--HashTable
- 事务复制问题排查
- Linux Socket 多并发服务器开源代码:xSocketd 实现PPC/TPC/SELECT/POLL/EPOLL
- Servlet入门
- Java8-Stream-No.11
- LeetCode-
- Java8-Stream-No.12
- 【重磅推荐】精品项目实战—高仿支付宝,附源码Demo
- Linux的时间和时区设置
- 研三学姐找工作分享-----机器学习
- Java8-Stream-No.13
- BP神经网络(四)——应用案例
- 读《人月神话》40周年中文版
- web学习之添加css样式