题目链接:https://leetcode-cn.com/problems/sum-of-digits-in-base-k/
思路:我的思路比较单纯,就是转换成k进制然后对每一位求和即可(代码一)。当然也可以不用得到转换后的数,直接做即可(转换过程中顺便把每一位的数加了,这样就不用先得到转换后的数了)(代码二)。
上代码:
代码一:
class Solution {
public int sumBase(int n, int k) {
Integer integer = Integer.valueOf(Integer.toString(n, k));
int result = 0;
while (integer != 0) {
result += integer % 10;
integer /= 10;
}
return result;
}
}
代码二:
class Solution {
public int sumBase(int n, int k) {
int result = 0;
while (n != 0) {
result += n % k;
n /= k;
}
return result;
}
}
本文介绍了解决LeetCode上一道关于求解K进制数位和问题的两种方法。一种是先将十进制数转换为K进制数,再计算各位数字之和;另一种是在转换过程中直接计算和,避免了存储中间结果。
1776

被折叠的 条评论
为什么被折叠?



