建议更改知识点!
原题链接:30130.【算法】【04】有多少个2025-02-13 19:09:09
发布于:上海
根本不用二分啊!!!!!!代码如下
#include <bits/stdc++.h>
using namespace std;
int n,a[100005],m,vis[1000006];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
vis[a[i]]++;
}
cin>>m;
for(int i=1;i<=m;i++){
int index;
cin>>index;
cout<<vis[index]<<endl;
}
return 0;
}
全部评论 1
谁说暴力不行?
#include <bits/stdc++.h> using namespace std; inline int read() { int x = 0, f = 1; char ch = getchar(); while(ch < '0' || ch > '9') { if(ch == '-') f = -1; ch = getchar(); } while(ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); } return x * f; } inline void write(int x) { if(x < 0) { putchar('-'); x = -x; } if(x > 9) write(x / 10); putchar(x % 10 + '0'); } int main() { int n = read(); int nums[n]; for( int i = 0; i < n; ++i) { nums[i] = read(); } sort(nums, nums + n); int m = read(); while(m--) { int target = read(), count = 0; for (int i = 0; i < n; ++i) { if(nums[i] == target) ++count; else if(nums[i] > target) break; } write(count); putchar('\n'); } return 0; }
2天前 来自 浙江
0nt
2天前 来自 广东
0
有帮助,赞一个