网易前端编程题解答

第一题:彩色砖块
题目我不描述,总之一句话:坑!坑!坑!做过一些哈希的题,也做过颜色分类的题,但是没做过这样的题。一开始我完全没明白题的意思,至多只允许一对颜色不同的砖块,那么我一直想如果是 "AABBCC" 的话不是至少有两对吗?最后时间我实在不知道怎么破了,于是照着个字面理解的方法提交了上去,结果过了!
既然是要排列所有的砖块,那么考虑这三种情况,只有一种颜色、只有两种颜色、有三种及三种以上颜色:
一种颜色:排列方式为1;
两种颜色:排列方式为2;
三种及以上:这是最坑的!我一直在想其中有什么猫腻,结果题目的意思是如果存在三种则无法排列,直接返回0就OK了!
var str = readline();
var map = new Map();
for (var i = 0; i < str.length; i++) {
	map.set(str[i], 1);

}
if(map.size === 1) {
	print(1);
}
if(map.size === 2){
	print(2);
}
if(map.size >= 3){
	print(0);
}
第二题:10串
这道题还好,把字符串遍历一遍就OK了
var str = readline();
var max = 0;
var temp = 1;
var last = str[0];
for(var i = 1; i < str.length; i++){
	if(str[i] == last){
		max = temp > max ? temp : max;
		temp = 1;
	}else{
		last = str[i];
		temp++;
	}
}
max = temp > max ? temp : max;
print(max);
第三题:顽强的小易
题目有点复杂,我先简单描述一下:设房屋租金x元/天,水果p元/个,小易已有水果f个,金钱d元,小易每天需要吃一个水果,求小易最多能活多少天。
这道题实际上就是一个数学问题,主要注意一下小易目前已有水果f个,所以我们首先需要算出这f哥水果能够小易撑多少天,考虑三种情况:
case 1: f * x == d; 此时代表小易不用买水果,只交房租刚好把钱花完,则能活 f 天;
case 2: f * x > d; 此时代表小易的水果带多了,及交完房租后还没有吃完,及能活 Math.floor(d/x) 天;
case 3: f * x < d; 此时代表小易的水果吃完了过后,还有剩余的钱,则要用剩余的钱计算出还能够再活多少天,设还能再活 n 天,则有公式 d - (f * x) == n * (x + p),因此小易最多能活 n+f 天;
var str = readline();
var arr = readline().split(" ");
var x = Number(arr[0]);
var f = Number(arr[1]);
var d = Number(arr[2]);
var p = Number(arr[3]);
switch (true) {
	case f * x == d:
		print(f);
		break;
	case f * x > d:
		print(Math.floor(d/x));
		break;
	case f * x < d:
		var n = (d - (f * x)) / (x + p);
                //这里有一个问题,如果是 Math.floor(n + f) 的话,则 case 通过率会是90%;
		print(Math.floor(n) + f);
		break;
	default:
		print(0);
		break;
}        

#网易#
全部评论
思路一样的啊~第一题题目中描述的字符串全排序完全是迷惑人的啊
点赞 回复 分享
发布于 2017-08-12 17:55
思路一样,我用 python ,第一二题在本地怎么测都是对的(考虑了几乎所有特殊输入情况)结果编译器上都是错的。 第三题还剩15分钟,又急第一二题为什么通过率只有 30% 就做不完了
点赞 回复 分享
发布于 2017-08-12 18:36
表示还是不太懂第一题的意思,你那两种颜色返回2和3+的情况返回0是什么意思,“AB”这样两种颜色还返回2吗,“CAABBC”这样3种颜色不也是符合要求吗,求指导
点赞 回复 分享
发布于 2017-08-12 21:07
返回0。。。。。2333
点赞 回复 分享
发布于 2017-08-12 21:43
**,厉害服了,**我脑子里就没出现过零,一直不懂。。这算法题厉害
点赞 回复 分享
发布于 2017-08-12 23:12
能活的天数还有小数啊?
点赞 回复 分享
发布于 2017-08-12 23:19
思路都一样,但是通过率都很低,不知道什么原因
点赞 回复 分享
发布于 2017-08-13 08:49
我前端岗,3道题用的全是PHP,会不会有影响啊
点赞 回复 分享
发布于 2017-08-13 09:53
啊啊啊啊啊,我最后一道题就是90%
点赞 回复 分享
发布于 2017-08-17 10:59
我想知道 为啥 我到现在 还没有结果 而且 是筛选简历那里等待评估结果 
点赞 回复 分享
发布于 2017-08-17 11:04

相关推荐

工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点???&nbsp;还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力…………&nbsp;感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务