📅  最后修改于: 2023-12-03 15:28:40.766000             🧑  作者: Mango
本文介绍GATE MOCK 2017第60章的相关内容。
该章节共包含两道题目。
题目描述:
给定一个长度为N的整数列表,每个元素的范围是[1, 10^6]。请编写一个函数,返回列表中所有非负整数的平均值。
输入格式:
输出格式:
def average(n, arr):
"""
计算列表中所有非负整数的平均值
"""
sum = count = 0
for i in arr:
if i >= 0:
sum += i
count += 1
return round(sum / count, 2)
题目描述:
给定一个长度为N的整数列表和一个目标值T,判断是否存在两个数的和等于T。如果存在,返回True,否则返回False。
输入格式:
输出格式:
def find_sum(n, arr, t):
"""
判断是否存在两个数的和等于T
"""
num_set = set()
for num in arr:
if t - num in num_set:
return True
num_set.add(num)
return False
以上介绍了GATE MOCK 2017第60章的两道题目及其解法。第一题计算列表中非负整数的平均值,需要注意处理列表为空的情况。第二题需要使用set数据结构记录已经遍历过的数字,以达到更快地查找效果。