题目描述:
给你一个正整数的数组 A。
然后计算 S,使其等于数组 A 当中最小的那个元素各个数位上数字之和。
最后,假如 S 所得计算结果是 奇数 的请你返回 0,否则请返回 1。
示例 1:
输入:[34,23,1,24,75,33,54,8]
输出:0
解释:
最小元素为 1,该元素各个数位上的数字之和 S = 1,是奇数所以答案为 0。
示例 2:
输入:[99,77,33,66,55]
输出:1
解释:
最小元素为 33,该元素各个数位上的数字之和 S = 3 + 3 = 6,是偶数所以答案为 1。
提示:
1 <= A.length <= 100
1 <= A[i].length <= 100
方法1:
主要思路:
(1)直观的分三步走,先找出最小值,再将最小值分解成各个位上的数字之和,最后判断该和的奇偶性;
class Solution {
public:
int sumOfDigits(vector<int>& A) {
int min_a=INT_MAX;
//找出最小值
for(int& a:A){
min_a=min(min_a,a);
}
int res=0;
//计算该最小值上的各个位上的数字之和
while(min_a){
res+=min_a%10;
min_a/=10;
}
//判断该和的奇偶性
return res%2!=1;
}
};