java代码 如何判断一个数组是否连续,比如{1,2,3,4}返回true,{1,5,4,6}返回false

今天去面试,遇到一个上机题,就是上述问题
下面贴出代码

  1. 判断两个值相差是否等于1
  2. 判断中间值是否等于两边的值
  3. 判断值是不是等差数列
    ps(Math.abs( )是获取数的绝对值)
public class ArrTest {
    public static boolean IsContinuous(int[] arr){
        boolean flaga = false;
        for (int i = 1; i< arr.length - 1;i++){
            if (arr[i]*2 != arr[i+1]+arr[i-1]){
                flaga = false;
                break;
            }
            if (Math.abs(arr[i+1]-arr[i])!= 1){
                flaga  = false;
                break;
            }
            if ((arr[i+1]-arr[i]) != (arr[i]-arr[i-1])){
                flaga  = false;
                break;
            }
            flaga = true;
            continue;
        }
            return flaga ;
    }

    public static void main(String[] args) {
        int arr[]  = new int[]{1,2,3,4};
        System.out.println(IsContinuous(arr));
    }
}

你可能感兴趣的:(java数组排列)