📜  门| GATE-CS-2014-(Set-2)|问题3(1)

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

门| GATE-CS-2014-(Set-2)|问题3

本题是关于数据结构和算法的,要求函数实现题目要求及其效率分析。

题目描述

给出一个由n个元素组成的列表,其中每个元素都是整数。编写一个函数count(lst,low,high),该函数将返回在low和high之间(包括low和high)的所有元素的数量。

例如:count([10, 20, 30, 40, 50],15,30)应返回2。

函数定义
def count(lst, low, high):
    """
    :param lst: list of integers
    :param low: integer
    :param high: integer
    :return: integer
    """
思路

在给定的列表中,从头到尾遍历并计数,如果元素在范围内,则增加计数器。最后在函数中返回计数器值。

代码实现
def count(lst, low, high):
    """
    :param lst: list of integers
    :param low: integer
    :param high: integer
    :return: integer
    """
    count = 0
    for i in lst:
        if low <= i <= high:
            count += 1
    return count
时间复杂度

由于我们是在遍历整个列表以计算所需计数,因此算法的时间复杂度为$O(n)$,其中n是列表中的元素数。