竞赛讨论区 > 有大佬愿意帮我看看,为啥这个代码只能过53%嘛
头像
牛客908720758号
发布于 2023-02-26 17:26 江西
+ 关注

有大佬愿意帮我看看,为啥这个代码只能过53%嘛

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {


        Scanner scanner = new Scanner(System.in);

        int length = scanner.nextInt();
        int i = 0;//将输入的参数转化为数组--索引
        int [] arr = new int[length];
        while (scanner.hasNextInt()) {
            arr[i++] = scanner.nextInt();
        }
        
        int b = 0;//左光标位置
        int Max = 0;//最终返回的最大长度值
        for (int a = 0; a < length; a++) {
            

            int[] ints = new int[a - b + 1];//创建一个新的数组

            if (a - b + 1 >= 0) System.arraycopy(arr, b, ints, 0, a - b + 1);

            if (!JustifyIncr(ints)) {
                a--;
                b++;
            } else {
                if (Max <= a - b + 1) {
                    Max = a - b + 1;
                }
            }
            
            
        }
        
        System.out.println(Max);
        

    }
    private static boolean JustifyIncr(int[] a) {
        int Num = 0;
        for (int i = 0; i < a.length - 1; i++) {
            if (a[i] > a[i+1]) {
                Num ++;
            }
        }

        return Num < 2;
    }
}

全部评论

(0) 回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐