线性扫描序列,统计等于指定数字的元素个数。
OJ: roj
题目 ID: 1068
难度:入门
标签:入门计数线性扫描
创建: 2026-07-05 21:47
更新: 2026-10-05 00:05
题目描述
给定长度为
样例:输入 3 2 和 2 3 2,输出 2。
思路
依次读入每个数,若等于
参考代码
Python 版:
python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
# rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-07-05 21:47
# update_at: 2026-07-05 21:47
import sys
def solve() -> None:
data = iter(map(int, sys.stdin.buffer.read().split()))
n = next(data)
m = next(data)
print(sum(1 for x in data if x == m))
if __name__ == "__main__":
solve()C++ 版(同一算法):
cpp
/**
* Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
* rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
* rainboy的学习导航网站: https://idx.roj.ac.cn
* create_at: 2026-10-05 00:05
* update_at: 2026-10-05 00:05
*/
#include <iostream>
using namespace std;
typedef long long ll;
ll n, m; // 序列长度与指定数字
ll x; // 当前读入的数
ll cnt; // 与 m 相同的数的个数
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
// 读取序列长度和指定数字
cin >> n >> m;
// 线性扫描序列,统计等于 m 的数的个数
for (ll i = 1; i <= n; ++i) {
cin >> x;
if (x == m) {
++cnt;
}
}
// 输出结果
cout << cnt << "\n";
return 0;
}