华为od机试4.27
4.27收到的笔试邮件,因为自我认知比较菜,所以一直拖到昨天才做,因为刷题较少,题目的难度划分我也不是很清楚,但是比预想的简单,给大家分享下仅供参考
#华为##笔试题目#
第一题:给一组数和一个数据,求该数据包含数组里的数的最多个数
输入:2 11 5 3 10
20
输出:4
我的解法很简单,先对数组排序,然后从小到大一个一个去试
第二题:给定三个长方形的左上角坐标以及长宽,求公共部分面积
例子数据忘了
我的解法是先求两个长方形的公共部分,然后再与第三个相交,求出坐标与长宽
第三题:给定一组书的长宽,并且只有当一本书的长宽同时小于另一本书的长宽时,两书才能叠放在一起,求改组书中最多能有多少本书叠放在一起
输入:[[20,16],[15,11],[10,10],[9,10]]
输出:3,前三本可叠放在一起
我的解法:利用第一题中的排序按招书本的长进行排序,然后依次计算以每本书为底最多能放多少书,然后输出最大的那个数
运气比较好,抽到的题比较简单,我是用的c语言,大概花了两个小时的时间,三道题全部ac,时长最长4ms。因为没开本地ide,调试上不方便,大家记得做的时候现在本地ide上写和调,会便捷很多