Условие задачи. Правильная реализация должна получить массив значений int и вернуть массив логических значений, где каждый элемент является результатом проверки: является ли соответствующий исходный элемент суммой двух предыдущих элементов в данном массиве.
Подробности:
Гарантируется, что длина данного массива составляет 2 или более.
Данный массив гарантированно не равен null.
Метод возвращает массив логических значений, где каждый элемент является результатом для соответствующего элемента в данном массиве.
Первые два элемента логического массива всегда false.
Пример
Input array: [1, -1, 0, 4, 6, 10, 15, 25]
Output array: [false, false, true, false, false, true, false, true]
Что в моем коде не так? У меня результат [false, false, false, false, false, false, false, false]
public class SumOfPrevious {
public static void main(String[] args) {
int[] array = new int[]{1, -1, 0, 4, 6, 10, 15, 25};
System.out.println(Arrays.toString(getSumCheckArray(array)));
}
public static boolean[] getSumCheckArray(int[] array) {
boolean[] booleans = new boolean[array.length];
for (int i = 0; i < array.length - 1; i++) {
for (int sum : array) {
sum = array[i] + array[i + 1];
if (sum == array[i]) {
Arrays.fill(array, sum);
}
}
}
return booleans;
}
}