四月刷题记录
四月除每日一题外额外刷题
1689.十-二进制数的最少数目
题目描述
分析
和为n的十-二进制数的最少数目
即用n不断去-十-二进制数,使得最终为0,且用的数目最少。
此题的关键点在于:十-二进制数每一位最高就是10,所以要使得给定数的某一位m变成0,至少要-m次,使第m位为n;所以此题变转化为了求解字符串中的最大字面值!
代码
func minPartitions(n string) int {
// max用于记录当前的最大字面值
var max uint8 = 0
// 遍历字符串,寻找最大字面值
for i := range n {
if max < n[i] {
max = n[i]
}
}
// 返回最大字面值
return int(max - '0')
}
提交结果