华为网络工程师社招笔试题目(一)
上机考试总共3题,两个小时内完成,共600分,第一题100分,第二题200分,第三题300分,网传开发100分,测试60分就可以得到面试机会。考试在牛客oj上考,不限语言,人生苦短我选python。我比较菜,只完整ac了第一题,第二题直接贪心a了40%。
我机考做的3题可以在这里分享给大家:
1.简单的贪心算法,题目已经忘记了。
2.一副扑克牌有54张牌,其中黑桃,红桃,梅花,方块4种花色各有点数为2,3,4,5,6,7,8,9,10,J,Q,K,A的牌以及大王(J1)小王(J2)。已知某种扑克牌玩法有如下牌型以及每种牌型都有权重:
单牌:任意一张单牌,权重0
对牌:任意两张点数相同的牌,权重2
单顺:任意五张点数相连的牌(点数顺序为2,3,4,5,6,7,8,9,10,J,Q,K,A),权重3
三张:任意三张点数相同的牌,权重4
四张:任意四张点数相同的牌,权重5
双王:大王+小王,权重5
假设每副手牌有n(0<n<=18)张不同的牌,现定义手牌的权重为手牌里可共存牌型权重之和,请计算出每副手牌最大权重值。
输入描述:
首行输入,表示有n张手牌(0<n<=18)
后续n行输入,表示n张扑克牌,除了大王小王每张牌通过花色与点数表示,
其中S表示黑桃,H表示红桃,C表示梅花,D表示方块。
如:
SA表示黑桃A,H10表示红桃10,J1表示大王,J2表示小王
输出描述:
输出手牌最大权重值
示例输入:
6
C2
D3
S4
C5
C6
C4
示例输出:
3#面经##社招##芯片设计工程师##华为#