该题解的思路是遍历整数数组nums,对于每个数字,检查它是否是偶数且能被3整除。如果是,那么将它加到divisible_sum中,并且增加计数器count的值。遍历完成后,如果count为0,说明没有找到符合条件的数字,返回0;否则,返回divisible_sum除以count的结果,使用整数除法以确保结果向下取整。
时间复杂度: O(n)
空间复杂度: O(1)
from typing import List
class Solution:
def averageValue(self, nums: List[int]) -> int:
divisible_sum = 0 # 存储可被3整除的偶数之和
count = 0 # 计数器,记录符合条件的数字数量
for num in nums:
if num % 2 == 0 and num % 3 == 0: # 检查数字是否是偶数且能被3整除
divisible_sum += num
count += 1
if count == 0:
return 0 # 如果没有符合条件的数字,返回0
else:
return divisible_sum // count # 返回平均值,使用整数除法以确保结果向下取整
solution = Solution()
nums = [1, 3, 6, 10, 12, 15]
result = solution.averageValue(nums)
print(result) # 输出: 9
nums = [1, 2, 4, 7, 10]
result = solution.averageValue(nums)
print(result) # 输出: 0