题目
我的题解
像剥洋葱一样一层一层的减少,实际上就是得到该字符串中最大值。
class Solution {
public int minPartitions(String n) {
char max = n.charAt(0);
for (int i = 1; i < n.length(); i++) {
max = (max > n.charAt(i)) ? max : n.charAt(i);
}
return (int) max - '0';
}
}
其他题解
易错点
- 注意不要直接减去最大位数的111…,这样会导致后面数据变化量很大,从而得到的值不是最小的;例如:
82734 = 7 * 11111 + 4*1111 + 4*111 + 6*11 + 3*1
,n=24,然而当82734 = 2*11111 + 1*10111 + 1*10101 + 3*10100 + 1*10000
时,n=8 - 注意
char
和int
的转换