编辑代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 读取鱼缸数量n
        int n = scanner.nextInt();
        
        // 读取每个鱼缸的水位高度数组a
        int[] a = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = scanner.nextInt();
        }
        
        // 计算最小混乱度
        int minDisorder = calculateMinDisorder(a);
        
        // 输出结果
        System.out.println(minDisorder);
        
        scanner.close();
    }

    private static int calculateMinDisorder(int[] a) {
        // 初始化最小混乱度为极大值
        int[] dq=new int[a.length];
        int max1=0,max2=0;
        for(int i=1;i<a.length-1;i++){
            dq[i]=Math.abs(a[i]-a[i+1])+Math.abs(a[i-1]-a[i]);
            if(dq[i]>dq[max1]){
                max2=max1;
                max1=i;
            }
        }
        int minDisorder=0;
        if(Math.abs(max1-max2)==1){
            a[max2]=a[max2+1];
            a[max1]=a[max2];
        }else{
            a[max2]=a[max2+1];
            a[max1]=a[max1+1];
        }
        for(int i=0;i<a.length-1;i++){
            minDisorder+=Math.abs(a[i]-a[i+1]);
        }

        return minDisorder;
    }
}