📅  最后修改于: 2023-12-03 15:07:34.434000             🧑  作者: Mango
该问题是在国际空间研究组织(ISRO)的计算机科学考试中出现的。
请编写一个程序,该程序将一个数字数组作为输入,并返回一个包含最接近平均值的所有值的列表。例如,如果输入数组为[4, 5, 6, 7, 8, 9],则平均值为6.5,最接近平均值的值为[6, 7]。
函数原型:def find_closest_to_mean(arr: List[int]) -> List[int]:
这道题可以通过几个步骤来解决:
下面是实现解决方案的 Python 代码示例:
from typing import List
def find_closest_to_mean(arr: List[int]) -> List[int]:
mean = sum(arr) / len(arr)
diff = [abs(num - mean) for num in arr]
min_diff = min(diff)
return [num for i, num in enumerate(arr) if diff[i] == min_diff]
这个函数可以对下面的数组进行测试:
arr = [4, 5, 6, 7, 8, 9]
print(find_closest_to_mean(arr)) # [6, 7]
在这个问题解决方案中,我们给出了一个简单的 Python 函数,可以在数组中找到最接近平均值的数字。我们希望这个解决方案能帮助你学习如何解决类似的问题,同时证明了 Python 在解决计算机科学问题方面的实用性。