【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,否则就返回 ⌊ s c n t ⌋ \lfloor\frac{s}{cnt}\rfloor ⌊cnts⌋
- 时间复杂度 O ( l e n ( n u m s ) ) O(len(nums)) O(len(nums))
- 空间复杂度 O ( 1 ) O(1) O(1)
AC代码
C++
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
# from typing import Listclass Solution:def averageValue(self, nums: List[int]) -> int:cnt = 0s = 0for t in nums:if t % 6 == 0:s += tcnt += 1return s // cnt if cnt else 0
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/130923191