头条后端编程题 2ac

第一题:

#include <iostream>

#include <vector>

#include <string>

#include <cstdio>

#include <set>

using namespace std;


int main(){

int n, m, c;

cin >> n >> m >> c;

vector<set<int>> vec(c + 1, set<int>());

for (int i = 1; i <= n; i++){

int num_i;

scanf("%d", &num_i);

for (int j = 0; j < num_i; j++){

int x;

scanf("%d", &x);

vec[x].insert(i);

}

}

int cnt = 0;

for (int i = 1; i <= c; i++){

if (vec[i].size() <= 1){

continue;

}

set<int>::iterator it;

vector<int> v;

for (it = vec[i].begin(); it != vec[i].end(); ++it)

v.push_back(*it);

for (int j = 1; j < v.size(); j++){

if (v[j] - v[j - 1] < m){

cnt++;

break;

}

}

}

cout << cnt;

return 0;

}


第二题:

#include <iostream>

#include <vector>

#include <cstdio>

#include <set>

using namespace std;


int main(){

int n;

cin >> n;

int arr[300001];

for (int i = 1; i < n; i++)

scanf("%d", &arr[i]);

int q;

cin >> q;

for (int index = 0; index < q; index++){

int l, r, k;

int cnt = 0;

scanf("%d %d %d", &l, &r, &k);

for (int i = l; i <= r; i++){

if (arr[i] == k)

cnt++;

}

printf("%d", cnt);

}

return 0;

}


全部评论
第二题为啥我的暴力就只有50%
点赞 回复 分享
发布于 2017-09-10 21:19
第二题你暴力接的?
点赞 回复 分享
发布于 2017-09-10 21:20
java暴力解,只有50%,歧视语言
点赞 回复 分享
发布于 2017-09-10 21:24
Go暴力解也是50%
点赞 回复 分享
发布于 2017-09-10 21:38
第一题不应该处理环的尾部和头部相连的那一段也有可能出现m个之内有撞***况的吗
点赞 回复 分享
发布于 2017-09-11 10:03

相关推荐

11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务