这个为什么超时了,第一题

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        for(int i=0;i<t;i++){
            int n=sc.nextInt();
            int arr[]=new int[n];
            for(int j=0;j<n;j++){arr[j]=sc.nextInt();}
            int d=-1;
            int l=0,r=1;
            List<Integer> list=new ArrayList<>();
            while(r<=n){
                if(r<n&&arr[r]>=arr[r-1]){r++;}
                else{
                    int k=arr[r-1]-arr[l];
                    if(k>d){
                        list=new ArrayList<>();
                        list.add(l+1);
                        list.add(r);
                        d=k;
                    }
                    else if(k==d){
                        list.add(l+1);
                        list.add(r);
                    }
                    l=r;
                    r++;
                }
            }
            for(int j=0;j<list.size();j++){
                System.out.print(list.get(j));
                System.out.print(" ");
            }
            System.out.println("");
        }
    }
}

全部评论
一年之后再看自己去年年初写的代码,那时候的代码风格真的好蠢
点赞 回复 分享
发布于 2023-05-22 16:24 北京
明白了,不能用Scanner,要用BufferReader
点赞 回复 分享
发布于 2022-03-04 16:43

相关推荐

点赞 评论 收藏
分享
那一天的Java_Java起来:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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