今日头条笔试
来源:互联网 发布:手机服装设计软件 编辑:程序博客网 时间:2024/04/28 14:22
1、#include<iostream>#include<vector>using namespace std;int main(){ int n, m, c; n = m = c = 0; cin >> n >> m >> c; vector< vector<int> > color(c + 1); for (int i = 0; i<c + 1; i++){ color[i].resize(n, 0); } int col = 0; int tmp = 0; for (int j = 0; j<n; j++){ cin >> col; for (int z = 0; z<col; z++){ cin >> tmp; color[tmp][j] = 1; } } int sum = 0; for (int i = 1; i<c + 1; i++){ int sumflag = 0; for (int j = 0; j<n; j++){ for (int z = 0; z<m; z++){ sumflag += color[i][(j + z) % n]; } } if (sumflag/m>1) sum++; } cout << sum; return 0;}第二种:#include <iostream>#include <algorithm>#include <math.h>#include <stack> #include <string>#include <set>using namespace std;int main(){ int n,m,c; cin>>n>>m>>c; int col[51][10000]; for(int i = 0;i<n;i++){ //初始化数组; for(int j = 0;j<51;j++){ col[j][i] = 0; } int num;//每个位置珠子颜色个数 cin>>num; for(int j = 0;j<num;j++){ int color;//珠子颜色 cin>>color; col[color][i] = 1; } } //看位置i的col相隔最小 int count = 0;//颜色不符合个数 for(int i = 1; i<51; i++){ int begin = 0; int mm = n;//相差最小距离 int p = 0; bool flag = 0; for(int j = 0; j<n; j++){ if(col[i][j] == 1){ if(flag == 0){ flag = 1; begin = j;//第一个位置 p = j; } else{ mm = min(mm, j-p); p = j; } } } mm = min(mm, n+begin-p); if(mm<m){ count++; } } cout<<count; return 0;}
2、
#include<cstdio>#include<map>#include<algorithm>using namespace std;const int N = 300003;struct P{ int l, r, k, id;}p[N];int f[N];int ans[N];map<int, int>mp;bool cmp(P x, P y){ return x.l < y.l;}int main(){ int n, Q; scanf("%d", &n); for(int i = 1; i <= n; i++){ scanf("%d" ,&f[i]); } scanf("%d", &Q); for(int i = 1; i <= Q; i++){ scanf("%d%d%d",&p[i].l, &p[i].r, &p[i].k); p[i].id = i; } p[0].r = 0; sort(p + 1, p + Q + 1, cmp); int nowL = 0, nowR = 0; for(int i = 1; i <= Q; i++){ int l = p[i].l; int r = p[i].r; if(l >= p[i-1].r){ mp.clear(); for(int j = p[i].l; j <= p[i].r; j++){ mp[f[j]] ++; } nowL = p[i].l; nowR = p[i].r; }else{ while(nowL < l){ mp[f[nowL]] --; nowL ++; } while(nowR < r){ nowR ++; mp[f[nowR]] ++; } } ans[p[i].id] = mp[p[i].k]; } for(int i = 1; i <= Q; i++){ printf("%d\n", ans[i]); } return 0;}/*51 2 3 3 531 2 12 4 53 5 3*/
阅读全文
0 0
- 今日头条笔试
- 今日头条--笔试
- 今日头条笔试
- 今日头条笔试
- 今日头条笔试题
- 今日头条,笔试题
- 今日头条笔试题
- 今日头条笔试题
- 今日头条笔试题
- 今日头条笔试题
- [笔试练习]今日头条实习笔试
- 牛客网今日头条笔试详解
- 今日头条 笔试题 (位运算)
- 牛客《今日头条》笔试题
- 2016今日头条后端笔试题
- 异或今日头条笔试
- 今日头条笔试题 数列
- 今日头条2017实习生笔试题解
- Python 对 Excel 文件的读写
- ajax异步交互
- 安全验证框架使用笔记001---Shiro简介
- Two Sum
- 关于Lua
- 今日头条笔试
- JFinal3.0新增特性
- Kafka设计解析(二)- Kafka High Availability (上)
- JFinal 的Config配置文件
- 对服务器与客户端编码不同的解决方式
- CS50 2016 Week 7 学习笔记
- 创建CA 和申请证书
- java SE学习初步整理
- HDU