java - 有什么方法可以将这个列表中的第一个元素和最后一个元素相乘?
问题描述
我试图将此列表的第一个元素乘以最后一个元素,然后将第二个元素乘以倒数第二个元素,依此类推。我有更好的方法吗?试图这样做,但我在我的内部循环中读取了 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;
}
}
解决方案
首先循环从 0 到数组长度一半的索引。然后将索引处的项目与 处的项目相乘array length - index - 1
。
for(int index = 0; index < (list.size() / 2); index++) {
sum += (list.get(index) * list.get(list.size() - index - 1));
}
推荐阅读
- apache-spark - Apache Kafka/Spark/Streaming 方法
- java - cron没有运行java程序
- php - android的api不工作
- php - 在我的申请中重新注册的问题
- python - 到达最后一页时如何停止while循环
- here-api - HERE-API 批量地理编码卡在提交(正文格式问题?)
- html - 来自 ws3 网站的 CSS 下拉菜单
- mysql - 在MYSQL中查找具有结尾与另一个表的列匹配的列的所有行
- spring - Hibernate 与 OneToOne 和 @MapsId 组合的表继承
- iphone - 在没有博览会的情况下在 ios 设备上运行本机反应