ncg4038 2021-09-13 15:00 采纳率: 25%
浏览 59

怎么优化这个java的速度啊

import java.util.*;

public class Main {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int index = scanner.nextInt();

    int a[] = new int[index];

    Scanner scanner2 = new Scanner(System.in);
    for (int i = 0; i < a.length; i++) {
        a[i] = scanner2.nextInt();
    }

    int max = findMaxByStream(a);
    System.out.println(max);
}

private static int findMaxByStream(int[] a) {
    return Arrays.stream(a).max().getAsInt();
}

}

  • 写回答

4条回答 默认 最新

  • 我秃了,但没强 2021-09-13 15:27
    关注

    每次输入后就用新值和原有的最大值比对一下,就不需要在输入完成后再比对整个数组了

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int index = scanner.nextInt();
        int max = Integer.MIN_VALUE;
     
        int a[] = new int[index];
     
        Scanner scanner2 = new Scanner(System.in);
        for (int i = 0; i < a.length; i++) {
            a[i] = scanner2.nextInt();
            max = max > a[i] ? max : a[i];
        }
     
        System.out.println(max);
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 9月13日

悬赏问题

  • ¥15 郑州牧原测试岗值得去吗
  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢