与指定数字相同的数的个数

GitHub跳转原题关系图返回列表

把与目标值相等的布尔结果求和,得到出现次数。

OJ: noi_openjudge

题目 ID: ch0105-12

难度:入门

标签:统计python

日期: 2026-07-30 23:01

题意

统计长度为 NN 的整数序列中等于指定数字的元素数量。

思路

表达式 number == target 的结果是布尔值,Python 中 TrueFalse 可按 10 参与求和。因此 sum(number == target for number in numbers) 就是匹配数目。

代码

Python代码

python
count, target = map(int, input().split())
numbers = map(int, input().split())
print(sum(number == target for number in numbers))

C++代码

cpp
#include <cstdio>

int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    int i,a,cnt=0;
    for (i=1;i<=n;i++){
        scanf("%d",&a);
        if ( a== m)
            cnt++;
    }
    printf("%d\n",cnt);
    return 0;
}

复杂度

时间复杂度为 O(N)O(N),额外空间复杂度为 O(1)O(1)

总结

布尔值求和是 Python 计数条件成立次数的常用模式。