// arr[first] = arr[first] (itself) * arr[next];
// arr[last] = prev * arr[last] (itself);
public class MyClass {
private static void MultiplyNextPrevious(int[] arr) {
int size = arr.length;
if (size <= 1) {
return;
}
int prev = arr[0];
arr[0] = arr[0] * arr[1];
for (int i = 1; i < size - 1; i++) {
int curr = arr[i];
arr[i] = prev * arr[i + 1]; // arr[i + 1] = next
prev = curr;
}
arr[size - 1] = prev * arr[size - 1];
}
public static void main(String args[]) {
int[] arr = {2, 3, 5, 6, 12, 8, 10, 7};
MultiplyNextPrevious(arr);
for (int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}
/*
run:
6 10 18 60 48 120 56 70
*/