华为
2016
校园招聘上机笔试题
⼀
.
编程题
1.
⽼师想知道从某某同学当中,分数最⾼的是多少,现在请你编程模拟⽼师的询问。当然,⽼师有时候需要
更新某位同学的成绩
.
2.
开发⼀个简单错误记录功能⼩模块,能够记录出错的代码所在的⽂件名称和⾏号。
处理
:
1.
记录最多
8
条错误记录,对相同的错误记录
(
即⽂件名称和⾏号完全匹配
)
只记录⼀条,错误计数增加;
(
⽂件
所在的⺫录不同,⽂件名和⾏号相同也要合并
)
2.
超过
16
个字符的⽂件名称,只记录⽂件的最后有效
16
个字符;
(
如果⽂件名不同,⽽只是⽂件名的后
16
个字
符和⾏号相同,也不要合并
)
3.
输⼊的⽂件可能带路径,记录⽂件名称不能带路径
3.
扑克牌游戏⼤家应该都⽐较熟悉了,⼀副牌由
54
张组成,含
3~A
,
2
各
4
张,⼩⺩
1
张,⼤⺩
1
张。牌⾯从⼩
到⼤⽤如下字符和字符串表⽰(其中,⼩写
joker
表⽰⼩⺩,⼤写
JOKER
表⽰⼤⺩)
:)
3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER
输⼊两⼿牌,两⼿牌之间⽤
“-”
连接,每⼿牌的每张牌以空格分隔,
“-”
两边没有空格,如:
4 4 4 4-joker
JOKER
请⽐较两⼿牌⼤⼩,输出较⼤的牌,如果不存在⽐较关系则输出
ERROR
基本规则:
(
1
)输⼊每⼿牌可能是个⼦,对⼦,顺⼦(连续
5
张),三个,炸弹(四个)和对⺩中的⼀种,不存在其他
情况,由输⼊保证两⼿牌都是合法的,顺⼦已经从⼩到⼤排列;
(
2
)除了炸弹和对⺩可以和所有牌⽐较之外,其他类型的牌只能跟相同类型的存在⽐较关系(如,对⼦跟对
⼦⽐较,三个跟三个⽐较),不考虑拆牌情况(如:将对⼦拆分成个⼦)
(
3
)⼤⼩规则跟⼤家平时了解的常⻅规则相同,个⼦,对⼦,三个⽐较牌⾯⼤⼩;顺⼦⽐较最⼩牌⼤⼩;炸
弹⼤于前⾯所有的牌,炸弹之间⽐较牌⾯⼤⼩;对⺩是最⼤的牌;
(
4
)输⼊的两⼿牌不会出现相等的情况。
答案提⽰:
(
1
)除了炸弹和对⺩之外,其他必须同类型⽐较。
(
2
)输⼊已经保证合法性,不⽤检查输⼊是否是合法的牌。
(
3
)输⼊的顺⼦已经经过从⼩到⼤排序,因此不⽤再排序了