2455.可被三整除的偶数的平均值

【LetMeFly】2455.可被三整除的偶数的平均值

力扣题目链接:https://leetcode.cn/problems/average-value-of-even-numbers-that-are-divisible-by-three/

给你一个由正整数组成的整数数组 nums ,返回其中可被 3 整除的所有偶数的平均值。

注意:n 个元素的平均值等于 n 个元素 求和 再除以 n ,结果 向下取整 到最接近的整数。

 

示例 1:

输入:nums = [1,3,6,10,12,15]
输出:9
解释:6 和 12 是可以被 3 整除的偶数。(6 + 12) / 2 = 9 。

示例 2:

输入:nums = [1,2,4,7,10]
输出:0
解释:不存在满足题目要求的整数,所以返回 0 。

 

提示:

  • 1 <= nums.length <= 1000
  • 1 <= nums[i] <= 1000

方法一:遍历

能被3整除的偶数 等价于 能被6整除的数。

我们只需要使用两个变量“cnt”和“s”,初始值都为0,分别用来统计能 能整除6的数的个数 和 能整除6的数的和。

遍历一遍数组即可完成统计。

最终,如果cnt为0就返回0,否则就返回$\lfloor\frac{s}{cnt}\rfloor$

  • 时间复杂度$O(len(nums))$
  • 空间复杂度$O(1)$

AC代码

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
public:
int averageValue(vector<int>& nums) {
int cnt = 0;
int s = 0;
for (int t : nums) {
if (t % 6 == 0) {
s += t;
cnt++;
}
}
return cnt ? s / cnt : 0;
}
};

Python

1
2
3
4
5
6
7
8
9
10
11
# from typing import List

class Solution:
def averageValue(self, nums: List[int]) -> int:
cnt = 0
s = 0
for t in nums:
if t % 6 == 0:
s += t
cnt += 1
return s // cnt if cnt else 0

同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/130923191


2455.可被三整除的偶数的平均值
https://blog.letmefly.xyz/2023/05/29/LeetCode 2455.可被三整除的偶数的平均值/
作者
Tisfy
发布于
2023年5月29日
许可协议