华为笔试

题目一

明日之星,投票
输入连续的姓名(逗号隔开,是一条输入)
统计名字出现最多的,如果有一样多的就按名字排序

题目二

匹配字符串、待匹配字符串XXX[addr=0x…,mask=0x…,val=0x…]
匹配规则:‘[’前面的完全一样,其他匹配规则,然后输出addr后面的地址,mask后面的掩码,val后面的值

import java.util.Scanner;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String key = sc.next();
        String str = sc.next();
        
        String[] subStr = str.split("],");
        
        for(int i=0;i<subStr.length;i++){
            StringBuffer sb = new StringBuffer();
            for(int j=0;j<subStr[i].length();j++){
                if(subStr[i].charAt(j)!='['){
                    sb.append(subStr[i].charAt(j));
                }
            }
            if((String)sb == key){
                int addr,mask,val;
                if(subStr[i].indexOf("addr=0x") != -1){
                    addr = subStr[i].indexOf("addr=0x");
                }
                else if(subStr[i].indexOf("addr=0X") != -1){
                    addr = subStr[i].indexOf("addr=0X");
                }
                else{
                    addr=0;
                }
                if(subStr[i].indexOf("mask=0x") != -1){
                    mask = subStr[i].indexOf("mask=0x");
                }
                else if(subStr[i].indexOf("mask=0X") != -1){
                    mask = subStr[i].indexOf("mask=0X");
                }
                else{
                    mask=0;
                }
                if(subStr[i].indexOf("val=0x") != -1){
                    val = subStr[i].indexOf("val=0x");
                }
                else if(subStr[i].indexOf("val=0X") != -1){
                    val = subStr[i].indexOf("val=0X");
                }
                else{
                    val=0;
                }
                
                if(addr !=0 && mask !=0 && val != 0){
                    System.out.println(subStr[i].subString(addr+5,mask-1));
                    System.out.println(subStr[i].subString(mask+5,val-1));
                    System.out.println(subStr[i].subString(val+4,subStr[i].length()-1));
                }
            }
        }
    }
}
题目三

栈区,每个栈区有自己占用的内存,以及他的调用栈,找到内存总数最多的一条调用链

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值