不是挺简单的吗?
两个相同的数进行&操作还是一样的,所以N-1个数得到的&结果如果和剩下的那个数相同的话再进行&操作还是那个数。
故我们可以把全部数进行&操作,再看看得到的结果是不是在数组中出现过,如果有的话就证明是true。

public class Main { public static void main(String[] args) { int[] a = {5,4,20};  System.out.println(isAndEquation(a));
    } public static boolean isAndEquation(int[] a) {  int result = a[0]; for (int i = 1; i < a.length; i++) {
            result = result & a[i];    }  for (int i = 0; i < a.length; i++) {  if (result == a[i]) return true;    }  return false; }
}