给你一个整数数组 nums 。
请你将 nums 中每一个元素都替换为它的各个数位之 和 。
请你返回替换所有元素以后 nums 中的 最小 元素。
示例 1:
**输入:**nums = 10,12,13,14
**输出:**1
解释:
nums 替换后变为 [1, 3, 4, 5] ,最小元素为 1 。
示例 2:
**输入:**nums = 1,2,3,4
**输出:**1
解释:
nums 替换后变为 [1, 2, 3, 4] ,最小元素为 1 。
示例 3:
**输入:**nums = 999,19,199
**输出:**10
解释:
nums 替换后变为 [27, 10, 19] ,最小元素为 10 。
提示:
1 <= nums.length <= 1001 <= nums[i] <= 10^4
分析:遍历 numsi,当 numsi 大于 0 时,先对 10 求余数,得到最低位,再除以 10,用 sum 加上余数,直到 nunsi 等于 0 就得到了 numsi 各个数位的和,记录所有 sum 的最小值即可。
cpp
class Solution {
public:
int minElement(vector<int>& nums) {
int n=nums.size(),ret=100000;
for(int i=0;i<n;++i)
{
int sum=0;
while(nums[i])
sum+=nums[i]%10,nums[i]/=10;
ret=min(ret,sum);
}
return ret;
}
};