网易前端编程题解答

第一题:彩色砖块
题目我不描述,总之一句话:坑!坑!坑!做过一些哈希的题,也做过颜色分类的题,但是没做过这样的题。一开始我完全没明白题的意思,至多只允许一对颜色不同的砖块,那么我一直想如果是 "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

相关推荐

牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务