题目一
明日之星,投票
输入连续的姓名(逗号隔开,是一条输入)
统计名字出现最多的,如果有一样多的就按名字排序
题目二
匹配字符串、待匹配字符串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));
}
}
}
}
}
题目三
栈区,每个栈区有自己占用的内存,以及他的调用栈,找到内存总数最多的一条调用链