阿里笔试4.10 做法
感觉很意外,两题都ac了~这两道题感觉像数学题多一点,全程手抖做完
第一题是修水管,大致题意是在一个二维坐标轴上,给定你房子的坐标,然后修一条垂直于x轴的水管,问你所有房子到这条水管的垂直最短距离之和
解法:拿到所有房子的x坐标值,然后排序,再取中值,遍历一次所有的x坐标值,求每个x坐标与中值的距离,最后求和就是答案
第二题是涂格子,大致题意是先给你x y n,x和y分别是长宽,n是涂料的种类,然后给你n种涂料各自的数量,要求: 每次涂的格子 其相邻格子不能涂相同的颜色,问你能不能把全部格子涂满(感觉我说得不是很清楚,大家可以看着别人发的帖子,理解好题意就行)
解法: 当涂料总数为偶数时,如果有一种涂料的数量大于总数的一半,就不能满足要求,否则就可以。当涂料总数为奇数时,如果有一种涂料的数量大于ceil(总数/2)时,不能满足要求,否则就可以
完全没想到都能做出来,表达可能不是很清楚,后续有空会补点代码~
#阿里巴巴##笔试题目#
第一题是修水管,大致题意是在一个二维坐标轴上,给定你房子的坐标,然后修一条垂直于x轴的水管,问你所有房子到这条水管的垂直最短距离之和
解法:拿到所有房子的x坐标值,然后排序,再取中值,遍历一次所有的x坐标值,求每个x坐标与中值的距离,最后求和就是答案
第二题是涂格子,大致题意是先给你x y n,x和y分别是长宽,n是涂料的种类,然后给你n种涂料各自的数量,要求: 每次涂的格子 其相邻格子不能涂相同的颜色,问你能不能把全部格子涂满(感觉我说得不是很清楚,大家可以看着别人发的帖子,理解好题意就行)
解法: 当涂料总数为偶数时,如果有一种涂料的数量大于总数的一半,就不能满足要求,否则就可以。当涂料总数为奇数时,如果有一种涂料的数量大于ceil(总数/2)时,不能满足要求,否则就可以
完全没想到都能做出来,表达可能不是很清楚,后续有空会补点代码~
#阿里巴巴##笔试题目#