2023-05-29每日一题
一、题目编号
2455. 可被三整除的偶数的平均值
二、题目链接
三、题目描述
给你一个由正整数组成的整数数组 nums ,返回其中可被 3 整除的所有偶数的平均值。
注意:n 个元素的平均值等于 n 个元素 求和 再除以 n ,结果 向下取整 到最接近的整数。
四、解题代码
class Solution {
public:
int averageValue(vector<int>& nums) {
int sum = 0;//和
int num = 0;//数的个数
int n = nums.size();
for(int i = 0; i < n; ++i){
if(!(nums[i]&1) && nums[i] % 3 == 0){
++num;
sum += nums[i];
}
}
if(sum == 0){
return 0;
}
return sum / num;
}
};
五、解题思路
(1) 首先需要知道所要求的是两个数字,一个是所有满足条件的数字的和sum,一个是这些数字的个数num。
(2) 接着要知道判断符合要求的数字的条件,首先nums[i] & 1 等于 0 来判断它是偶数,接着,nums[i] % 3 == 0 判断它能够被3整数。然后sum += nums[i], num++。
(3) 一定要注意的是:可能这些个数为0,所以要单独判断一个num或者sum 等于 0 的情况,此时返回0.
(4) 这道题目的数据范围很小,所以不需要考虑溢出,整数int不能表示的可能性。