首页 > 编程知识 正文

华为认证考试成绩查询,华为软件笔试题

时间:2023-05-03 11:44:37 阅读:120202 作者:1513

链接: https://www.now coder.com/question terminal/3897 c2b cc 87943 ed 98 D8 e0b 9e 18c 4666? answerType=1f=discussion

来源:牛客网

输入多个测试数据。

每组的第一行是两个正整数n和m (0n=30000,0m 5000 ),分别表示学生数和操作数。

学生ID号从1篇到n。

第二行包含n个整数,表示这n个学生的初始成绩,其中第I个数字表示ID为I的学生的成绩

接下来的m行,每行只取字母“q”或“u”)和两个正整数a、b,当c是“q”时,表示这是提问操作,在从a到b (包括a、b )的学生中,成绩最高

当c为‘u’时,这表示这是更新操作,要求将ID为a的学生的成绩变更为b。

import java.util.Scanner; 公共类主{ int n=30000; int m=5000; 静态int [ ] scores=new int [ 30000 ]; publicstaticvoidmain (string [ ] args ) scannerin=newscanner ) system.in ); 用于控制while(in.hasnext () /多个示例输入String control=in.nextLine ) )。 stringcontrolarray [ ]=control.split (' '; intscorenum=integer.parseint (控制阵列[0]; intmanagnum=integer.parseint (控制阵列[1]; String score=in.nextLine (; String scoreArr[]=score.split (' '; for(intI=0; iscoreNum; I ) int tem=integer.parseint (score arr [ I ]; scores[i 1]=tem; (} int num=1; while(num=managnum ) (/输入语句,String m=in.nextLine ); String[] mArray=m.split (' ); //char [ ] mchar array=m.tochararray (; int first=integer.parseint (marray [1]; intlast=integer.parseint (marray [2]; if(Marray[0].equals('q ) ) /字符串相对较大,只能使用equals,不能使用==。 因为不是同一对象querymax(first,last )。 }elseif(Marray[0].equals(u ) ) update (第一,最后); (num; } } publicstaticvoidquerymax (int first,int last ) {int max=0; if (第一last ) for ) intI=first; i=last; I ) ) max=math.max(max,scores[i]; }if(first==last ) { max=scores[first]; (if )第一个最后一个) { int tem=第一个; first=last; last=tem; for(intI=first; i=last; I ) ) max=math.max(max,scores[i]; }system.out.println(max ); }publicstaticvoidupdate(intnum,int score ) {scores[num]=score; }学到的东西:

1、String control=in.nextLine (; //字符串中的stringcontrolarray [ ]=control.split (' ); 将字符串按指定的tag划分为字符串数组intscorenum=integer.parseint (控制阵列[0] ); 将字符串转换为整数intmanagnum=integer.parseint (控制阵列[1] ); 2、if(Marray[0].equals(q ) ) /字符串比较大小,equals3、while(in.nextline ) )中需要输出处理的所有内容)中多组样本的输入

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。