把与目标值相等的布尔结果求和,得到出现次数。
OJ: noi_openjudge
题目 ID: ch0105-12
难度:入门
标签:统计python
日期: 2026-07-30 23:01
题意
统计长度为
思路
表达式 number == target 的结果是布尔值,Python 中 True、False 可按 1、0 参与求和。因此 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;
}复杂度
时间复杂度为
总结
布尔值求和是 Python 计数条件成立次数的常用模式。