这篇文章主要介绍了一位小伙伴的华为Java社招面试经历,详细记录了华为java面试的流程、相关面试题与参考答案,需要的朋友可以参考下

之前6月底华为cloudsop部门打电话叫他要不要面试,当时小伙伴正处于换工作的期间,于是就把简历发给华为hr,人事审核后经过一些列面试、机试,最终顺利拿到了offer,出于未来职业规划的考量,他手里还有其他的一些offer,还没有定下来,顺便在此向大家分享一下面试华为的一些经历。
import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.Scanner;/ * 五张牌,每张牌由牌大小和花色组成,牌大小2~10、J、Q、K、A,牌花色为红桃、黑桃、梅花、方块四种花色之一。 判断牌型: * 牌型1,同花顺:同一花色的顺子,如红桃2红桃3红桃4红桃5红桃6。 * 牌型2,四条:四张相同数字 + 单张,如红桃A黑桃A梅花A方块A + 黑桃K。 * 牌型3,葫芦:三张相同数字 + 一对,如红桃5黑桃5梅花5 + 方块9梅花9。 * 牌型4,同花:同一花色,如方块3方块7方块10方块J方块Q。 * 牌型5,顺子:花色不一样的顺子,如红桃2黑桃3红桃4红桃5方块6。 * 牌型6,三条:三张相同 + 两张单。 * 牌型7,其他。 * 说明: * 1)五张牌里不会出现牌大小和花色完全相同的牌。 * 2)前面的牌型比后面的牌型大,如同花顺比四条大,依次类推。 */public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); ArrayList<String> list = new ArrayList<>(); while (sc.hasNextLine()) { String s = sc.nextLine(); list.add(s); if (list.size() == 5) { int type = getCardType(list); System.out.println(type); list.clear(); } } } private static int getCardType(ArrayList<String> list) { int size = list.size(); ArrayList<String> numList = new ArrayList<>(); HashSet<String> numSet = new HashSet<>(); ArrayList<String> colorLsit = new ArrayList<>(); HashSet<String> colorSet = new HashSet<>(); for (int i = 0; i < list.size(); i++) { String num = list.get(i).split(" ")[0]; String color = list.get(i).split(" ")[1]; if (num.equals("J")) { numList.add("11"); numSet.add("11"); } else if (num.equals("Q")) { numList.add("12"); numSet.add("12"); } else if (num.equals("K")) { numList.add("13"); numSet.add("13"); } else if (num.equals("A")) { numList.add("14"); numSet.add("14"); } else { numList.add(num); numSet.add(num); } colorLsit.add(color); colorSet.add(color); } int temp = 7; //同花顺或者同花 if (colorSet.size() == 1) { Collections.sort(numList); for (int i = 0; i < numList.size() - 1; i++) { if (Integer.parseInt(numList.get(i + 1)) - 1 == Integer.parseInt(numList.get(i))) { if (i == numList.size() - 2) { temp = 1; } continue; } else { if (temp > 4) { temp = 4; } } } } //四条或葫芦 if (numSet.size() == 2) { Collections.sort(numList); if (numList.get(0) != numList.get(1) || numList.get(numList.size() - 1) != numList.get(numList.size() - 2)) { if (temp > 2) { temp = 2; } } else { if (temp > 3) { temp = 3; } } } //三条 if (numSet.size() == 3) { if (temp > 6) { temp = 6; } } //顺子 if (colorSet.size() > 1) { Collections.sort(numList); for (int i = 0; i < numList.size() - 1; i++) { if (Integer.parseInt(numList.get(i + 1)) - 1 == Integer.parseInt(numList.get(i))) { if (i == numList.size() - 2) { temp = 5; } continue; } else { break; } } } return temp; } }到此这篇华为java面试题及答案(华为java社招面试流程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/jjc/37851.html