Вы можете написать служебный метод следующим образом ( предполагает, что массив отсортирован заранее, смотрите обновление, если это не так ):
public static boolean checkIfOnFire(int[] arr, int... nums) {
for(int n : nums) {
if(Arrays.binarySearch(arr, n) < 0) {
return false;
}
}
return true;
}
Тест с:
int[] myarray = new int[] {1,2,3,4,5};
System.out.println(checkIfOnFire(myarray, 1, 2, 3));
System.out.println(checkIfOnFire(myarray, 1, 2, 7));
Печать:
true
false
Обновление
Так как я использую Arrays.binarySearch
. Массив ввода для метода checkIfOnFire
должен быть отсортирован, как в вашем примере.
Но если ваш массив может быть не отсортирован, тогда checkIfOnFire
необходимо изменить следующим образом:
public static boolean checkIfOnFire(int[] arr, int... nums) {
//make a copy of the original array
int[] copyArr = new int[arr.length];
System.arraycopy(arr, 0, copyArr, 0, arr.length);
//sort the copy
Arrays.sort(copyArr);
for(int n : nums) {
if(Arrays.binarySearch(copyArr, n) < 0) {
return false;
}
}
return true;
}