java - 如何循环添加二维数组中的所有元素?
问题描述
给定一个二维字符串数组,我如何将所有元素相加,以便数组中的每个索引都是数组其余部分的总和?例如,[[a], [b], [c], [d], [e]]
我最终得到一个数组
[[a+b+c+d+e], [a+b+c+d+e], [a+b+c+d+e], [a+b+c+d+e],[a+b+c+d+e]]
。我想它不一定是二维数组,它可以是一维字符串数组,我最终在每个索引中都有一个字符串“a+b+c+d+e”。当我说循环时,我的意思是循环,没有额外的内存空间。所以也许在第一次迭代之后它可能看起来像[[a], [a + b], [a+b+c], [a+b+c+d], [a+b+c+d+e]]
. 这样的代码是什么?答案可以是伪代码或任何语言
像这样:https ://andrew.gibiansky.com/blog/machine-learning/baidu-allreduce/
解决方案
我不太确定你想要实现什么。但是如果你看一下它可能是值得的Arrays#parallelPrefix
,你可以用它来累积数组的单个元素。
public static void main(String[] args) {
String[] str = {"a","b","c","d","e"};
Arrays.parallelPrefix(str, (s1,s2) -> s1+s2);
System.out.println(Arrays.toString(str));
}
//[a, ab, abc, abcd, abcde]
推荐阅读
- node.js - 为什么 await 没有阻塞循环,而是在 nodejs 中执行一项任务之前执行?
- ios - Objective C: iOS 14 如何做网络隐私权限检查
- docker - 错误:在文件“./docker-compose.yml”中,服务“图像”必须是映射而不是字符串
- javascript - React-Bootstrap 表未显示使用 BootstrapTable 库
- spring-boot - rabbitmq 中给定队列中没有可用消息时的消费者线程状态
- debian - Debian Nagios NRPE 连接被拒绝
- python - 之字形四倍
- java - springfox swagger 生成不正确的基本 URL
- c++ - 设置项目根文件夹
- laravel - Laravel 删除关系并以一种方式创建新关系?