2023-05-29 LeetCode每日一题(可被三整除的偶数的平均值)

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不能表示的可能性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值