📜  门| GATE MOCK 2017 |第60章(1)

📅  最后修改于: 2023-12-03 15:28:40.766000             🧑  作者: Mango

GATE MOCK 2017 - 第60章

本文介绍GATE MOCK 2017第60章的相关内容。

题目解析

该章节共包含两道题目。

第一题

题目描述:

给定一个长度为N的整数列表,每个元素的范围是[1, 10^6]。请编写一个函数,返回列表中所有非负整数的平均值。

输入格式:

  • N: 整数列表的长度
  • N个整数,表示列表中的元素

输出格式:

  • 所有非负整数的平均值,保留两位小数
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。

输入格式:

  • N: 整数列表的长度
  • 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数据结构记录已经遍历过的数字,以达到更快地查找效果。