首页 > 解决方案 > 有什么方法可以将这个列表中的第一个元素和最后一个元素相乘?

问题描述

我试图将此列表的第一个元素乘以最后一个元素,然后将第二个元素乘以倒数第二个元素,依此类推。我有更好的方法吗?试图这样做,但我在我的内部循环中读取了 3 次相同的元素。

    long sum = 0;
    long temp = 0;

    for (int i = 0; i < list.size() / 2; i++) {

        for (int j = list.size() - 1; j >= list.size() / 2; j--) {

            temp = list.get(j) * list.get(i);
            sum += temp;
        }

    }

标签: javaarraylistlinked-list

解决方案


首先循环从 0 到数组长度一半的索引。然后将索引处的项目与 处的项目相乘array length - index - 1

for(int index = 0; index < (list.size() / 2); index++) {
    sum += (list.get(index) * list.get(list.size() - index - 1));
}

推荐阅读