猿辅导9.16笔试编程题

第一题,螺旋打印矩阵,100
#include<bits/stdc++.h>
using namespace std;
int main() {
	int n, m;
	scanf("%d%d", &m, &n);
	vector<vector<int>> num(m, vector<int>(n));
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < n; j++) {
			scanf("%d", &num[i][j]);
		}
	}
	vector<int> res;
	for (int level = 0; level * 2 < m &&level * 2 < n; level++) {
		for (int i = level; i < m - level; i++)res.push_back(num[i][level]);
		for (int j = level+1; j < n - level; j++)res.push_back(num[m - level - 1][j]);
		if(n - level - 1 > level)for (int i = m - level - 2; i >=level; i--)res.push_back(num[i][n-level-1]);
		if (level < m - level - 1)for (int j = n - level - 2; j > level; j--)res.push_back(num[level][j]);
	}
	for (int i = 0; i < res.size(); i++) {
		if (i)printf(" ");
		printf("%d", res[i]);
	}
	return 0;
}

第二题,求连续子序列和小于等于s的最大长度,100
#include<bits/stdc++.h>
using namespace std;
int main() {
	int n, s, t;
	scanf("%d%d", &n, &s);
	vector<int> presum(n + 1,0);
	int sum = 0;
	for (int i = 1; i <= n; i++) {
		scanf("%d", &t);
		sum += t;
		presum[i] = sum;
	}
	int r = 0, res = 0;
	for (int l = 0; l <= n; l++) {
	    r = upper_bound(presum.begin() + r, presum.end(), presum[l] + s) - presum.begin();
		res = max(r - l - 1, res);
	}
	printf("%d", res);
	return 0;
}


第三题,复杂排序,还没写好就交卷了,0
#include<bits/stdc++.h>
using namespace std;
struct node {
	int num;
	int teacher;
	string name;
	//vector<int> student;
	int times;
	int timet;
	double res;
};
struct record {
	int time;
	int id;
	bool in;
};
//unordered_map<string, int> name2num;
unordered_map<int, int> id2num;
unordered_map<int, bool> idt;
bool cmp(record a, record b) {
	if (a.id != b.id)return a.id < b.id;
	if (a.time != b.time)return a.time < b.time;
	if (a.in != b.in)return b.in;
}
bool cmp2(node a, node b) {
	if (a.res != b.res)return a.res > b.res;
	return a.name < b.name;
}
int main() {
	int n, m;//记录数,班级数
	scanf("%d%d", &n,&m);
	int k, t, id;
	string name;
	vector<node> vnode;
	for (int i = 0; i < m; i++) {
		scanf("%d %d", &k, &t);
		id2num[t] = i;
		idt[t] = true;
		cin >> name;
		//vector<int> tmp;
		for (int i = 0; i < k; i++) {
			scanf("%d", &id);
			id2num[id] = i;
			//tmp.push_back(id);
		}	
		vnode.push_back(node{ k,t,name });
	}
	string s;
	int time;
	vector<record> vrecord;
	for (int i = 0; i < n; i++) {
		cin >> s;
		scanf("%d %d", &id, &time);
		bool in = s == "IN";
		vrecord.push_back({time,id, in });
	}
	sort(vrecord.begin(), vrecord.end(), cmp);
	for (int i = 0; i < n-1; i++) {
		if (vrecord[i].id == vrecord[i+1].id &&vrecord[i].in && !vrecord[i+1].in) {
			if (idt[vrecord[i].id]) vnode[id2num[vrecord[i].id]].timet += vrecord[i + 1].time - vrecord[i].time;
			else vnode[id2num[vrecord[i].id]].times += vrecord[i+1].time - vrecord[i].time;
		}
	}
	for (int i = 0; i < m; i++) vnode[i].res = vnode[i].times*1.0 / (vnode[i].teacher*vnode[i].times);
	sort(vnode.begin(), vnode.end(), cmp2);
	for (int i = 0; i < m; i++) {
		if (i)printf("\n");
		cout << vnode[i].name;
	}
	return 0;
}                    


#笔试题目##猿辅导#
全部评论
楼主内推:【拼多多校园招聘】内推链接:https://careers.pinduoduo.com/campus/grad?t=d6dKdhDUqq,内推码:d6dKdhDUqq。期待你的加入!我们一起,无拼不青春!(通过此链接投递计入内推,内推简历优先筛选~)
点赞 回复 分享
发布于 2021-07-07 17:00
不错哦
点赞 回复 分享
发布于 2019-09-16 19:39
不错哟
点赞 回复 分享
发布于 2019-09-16 19:19

相关推荐

06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
喜欢飞来飞去的雪碧在...:可以试一试字节
点赞 评论 收藏
分享
评论
1
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务