Необходимо: Выполнить попарное суммирование произвольного конечного ряда случайных чисел следующим образом: на первом этапе суммируются попарно рядом стоящие числа, на втором этапе суммируются результаты первого этапа и т.д. до тех пор, пока не останется одно число.
Я программу написал и она отрабатывает правильно, но надо чтобы числа вместо Array записывались в ArrayList или в HashMap. Прошу тех кто разбираеться в колекциях помочь так как моих знаний в колекциях недостаточно чтобы исправить программу правильно .
import java.util.Arrays;
import java.util.ArrayList;
public class Main
{
private static int [] arr = {1,2,3,4,5,6,7,8};
public static void main(String[] args)
{
getSumNeighbors(arr);
}
private static void getSumNeighbors(int [] nums)
{
int [] tmp;
if (nums.length == 2) {
System.out.println("Intermediate Sum Values: " + Arrays.toString(nums));
System.out.println("Final Sum = " + (nums[0] + nums[1]));
return;
}
System.out.println("Intermediate Values: " + Arrays.toString(nums));
int highLimitIndexTmp;
if (nums.length%2 == 0) {
tmp = new int[nums.length/2];
highLimitIndexTmp = tmp.length;
}
else {
tmp = new int[nums.length/2 + 1];
highLimitIndexTmp = tmp.length - 1;
tmp[highLimitIndexTmp] = nums[nums.length - 1];
}
int j = 0;
for (int i = 0; i < highLimitIndexTmp; i++)
{
tmp[i] = nums[j] + nums[j + 1];
j+=2;
}
getSumNeighbors(tmp);
}
}