gpt4 book ai didi

java - 对排序列表中的元素求和,然后将求和值添加到列表中

转载 作者:行者123 更新时间:2023-12-01 16:43:56 24 4
gpt4 key购买 nike

所以,这是我的问题,我有一个包含类似内容的列表[4,7,8,23,41]我想要的是4+7 = 11,因此 11 应添加到此列表中,而 4 和 7 应删除。那么 11 +8 = 19,所以添加 19,并删除 11 和 8。

  int finalSum=0;
Collections.sort(myList);

for(int i =0;i<myList.size();i++)
{
for(int j=i+1;i<myList.size();j++)
{
int sum = myList.get(i) + myList.get(j);
myList.remove(i);
myList.remove(j);
}
}

for(int k=0;k<myList.size();k++)
{
finalSum += myList.get(k);
}

最佳答案

我不确定您想要这样的算法的原因,但是这应该按照您所描述的方式运行。

public static void main(String[] args) {
List<Integer> myList = new LinkedList<>(Arrays.asList(4,7,8,23,41));
Collections.sort(myList);
while (myList.size() > 1) {
myList.add(0, myList.remove(0) + myList.remove(0));
}
int finalSum = myList.get(0);
System.out.println(finalSum);
}

对列表中的元素求和的更好方法是:

public static void main(String[] args) {
List<Integer> myList = Arrays.asList(4,7,8,23,41);
int finalSum = myList.stream().reduce(0, Integer::sum);
System.out.println(finalSum);
}

关于java - 对排序列表中的元素求和,然后将求和值添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56552646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com