我感觉需要用一个dp[n][2] public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         int n = scanner.nextInt();         int[] arr = new int[n];         for (int i = 0; i < n; i++) {             arr[i] = scanner.nextInt();         }         scanner.close();         int[][] dp = new int[n][2];         for (int i = 0; i < n; i++) {             if (i > 0 && arr[i] > arr[i - 1]) {                 dp[i][0] = dp[i - 1][0] + 1;             }         }         for (int i = n - 1; i >= 0; i--) {             if (i < n - 1 && arr[i] > arr[i + 1]) {                 dp[i][1] = dp[i + 1][1] + 1;             }         }         int sum = 0;         int count = 0;         for (int i = 0; i < n; i++) {             sum += (dp[i][0] + 1 + dp[i][1] + dp[i][0] * dp[i][1]) * arr[i];             count += dp[i][0] + 1 + dp[i][1] + dp[i][0] * dp[i][1];         }         float result = sum / (float) count;         System.out.printf("%.6f", result);     }