第一道的代码。 import java.util.Scanner; public class Main {     public static void main(String[] args) {         Scanner in = new Scanner(System.in);         StringBuilder str= new StringBuilder();       //  while (in.) {// 注意,如果输入是多个测试用例,请通过while循环处理多个测试用例           str.append(in.nextLine());      //  System.out.println(str.toString());       //  }         char[] chs=str.toString().toCharArray();         solution(chs,0);//处理方法,0是多余的。不用管         int maxNum=0;//结果最大值         String maxStr="";//结果的字符         for (int i=65;i<=90;i++){             if(res[i]+res[i+32]>maxNum){                 maxNum=res[i]+res[i+32];//a和A一起算,ASCII码差32                 maxStr=String.valueOf((char)(i+32));             }         }         StringBuilder sb=new StringBuilder();         sb.append(maxStr);         sb.append(maxNum);         System.out.println(sb.toString());     }     public static int[] res=new int[150];//结果集。index是字符的ASCII值,value是字符出现次数     public static void solution(char[] chs,int start){        if(start>chs.length){            return;        }        StringBuilder sb=new StringBuilder();//存字符         StringBuilder num=new StringBuilder();//存后面重复次数        for (;start<chs.length;start++){            if(chs[start]+0<=57 && chs[start]+0>=48){//是数字的话                num.append(chs[start]);                if(start+1<=chs.length-1 && chs[start+1]+0<=57 && chs[start+1]+0>=48){                    continue;//边界处理                }                input(sb.toString(),num.toString());//计算重复次数                sb=new StringBuilder();//重置                num= new StringBuilder();                continue;            }            sb.append(chs[start]);//字符直接添加        }     }     public  static void input(String s,String num){          char[] cs=s.toCharArray();//这里是字符          int  m=Integer.parseInt(num);//这里是字符后的数字          for (int i=0;i<cs.length;i++){              if(cs[i]=='-'){//处理-出现                  for(int j=cs[i-1]+1;j<=cs[i+1];j++){                      if(j==91){                          j=97;//跳过中间的无效字符                      }                      res[j] =res[j]+m;//这个字符的重复次数                  }              }              res[cs[i]] =res[cs[i]]+m;//处理一般字符          }     } }
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务