题解 | 农田最大产出评估

农田最大产出评估

https://www.nowcoder.com/practice/61e4efc13af342fe86718e68df6cf7f3

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int len = in.nextInt();//地块数量
            int[] arr = new int[len];
            for(int i = 0; i < len; i++){
                arr[i] = in.nextInt();
            }

            System.out.println(method(arr));
        }
    }



    private static int method(int[] arr){
        int res = 0;
        for(int i = 0; i < arr.length; i++){//遍历每个数组元素
            int temp = method2(arr,i);
            if(temp > res){
                res = temp;
            }
        }
        return res;
    }

    private static int method2(int[] arr, int index){//计算每个数组元素作为最小时对应的最大肥力
        int left = index;
        int right = index;
        for(int i = index; i >= 0; i--){
            if(arr[i] >= arr[index]){
                left = i;
            }
            if(arr[i] < arr[index]){
                break;
            }
        }
        for(int i = index; i < arr.length; i++){
            if(arr[i] >= arr[index]){
                right = i;
            }
            if(arr[i] < arr[index]){
                break;
            }
        }

        return arr[index] *(right - left + 1);
    }








}

全部评论

相关推荐

02-04 17:01
南昌大学 Java
牛客96763241...:拿插件直接投就完了,这玩意看运气的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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