zoukankan      html  css  js  c++  java
  • java 老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.

    老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.

    输入描述:
    输入包括多组测试数据。
    每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。
    学生ID编号从1编到N。
    第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩
    接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候, 表示这是一条询问操作,他询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少
    当C为‘U’的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。


    输出描述:
    对于每一次询问操作,在一行里面输出最高成绩.
    输入例子:
    5 7
    1 2 3 4 5
    Q 1 5
    U 3 6
    Q 3 4
    Q 4 5
    U 4 5
    U 2 9
    Q 1 5
    
    输出例子:
    5
    6
    5
    9
    package com.huawei.practice001;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    /**
     * @author Allen
     * @version 创建时间:
     * 类说明:https://www.nowcoder.com/test/question/
     * 3897c2bcc87943ed98d8e0b9e18c4666?pid=260145&tid=10861849
     */
    public class zuigaofen {
        public static void main(String[] args) {
            Scanner sc1=new Scanner(System.in);
            
            do{
                int[] num=new int[2];
            
            num[0]=sc1.nextInt();
            num[1]=sc1.nextInt();
            List<Integer> list=new ArrayList<Integer>();
            List<Integer> results=new ArrayList<Integer>();
            for(int i=0; i<num[0]; i++){
                list.add(sc1.nextInt());
            }
            char a;
            int b,c;
            for(int j=0; j<num[1]; j++){
                a=sc1.next().charAt(0);
                b=sc1.nextInt();
                c=sc1.nextInt();
                if('Q'==a){
                    if(b>=c){//交换
                        int t=c;
                        c=b;
                        b=t;
                    }
                    //b-c中选择最大的数
                    int max=list.get(b-1);        
                    for(int m=b;m<c;m++){
                        if(max<list.get(m)){
                            max=list.get(m);
                        }
                    }
                    results.add(max);//end
                }
                if('U'==a){
                    list.set(b-1, c);
                }
            }
            //输出
            for(int n=0; n<results.size(); n++){
                System.out.println(results.get(n));
            }
            }while(sc1.hasNext());
            
            sc1.close();
            
        }    
    }
  • 相关阅读:
    autopoi升级到4.0版本修改方法
    JeecgBoot的前端Form升级为FormModel用法(支持 v-model 绑定)
    如何设计一张带二维码的打印报表?
    低代码概念报表-JimuReport1.1.09 版本发布
    分组报表怎么做,积木报表十分钟搞定!
    JeecgBoot 2.4.2 积木报表版本发布,基于SpringBoot的低代码平台
    低代码开发是如何解决企业招聘技术人才难题?
    JimuReport积木报表1.1.05 版本发布,免费的企业级 Web 报表工具
    Docker安装elasticsearch 7.7.0
    Jeecg 文件上传漏洞补丁说明
  • 原文地址:https://www.cnblogs.com/Allen-win/p/7500745.html
Copyright © 2011-2022 走看看