You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按索引累加数组元素 重复索引场景的高性能实现方案

按索引将数值数组元素累加到另一数组的高性能实现(支持重复索引场景)

如何按索引将一个数值数组的元素累加到另一个数组上?尤其是存在重复索引的场景,示例如下:

x
1 2 3 4
  idx
0 1 0
   y
5 6 7
   ] x add idx;y NB. 计算逻辑:(1 + 5 + 7) , (2 + 6) , 3 , 4
13 8 3 4

其中x、idx、y所有变量都可能包含百万级元素,需要实现高性能的add动词。

解决方案

以下方案由Dan Bron提供:

cumIdx =: 1 : 0
:
'i z' =. y
n =. ~. i
x n}~ (n{x) + i u//. z
)
(1 2 3 4) + cumIdx (0 1 0);(5 6 7)
13 8 3 4

内容的提问来源于stack exchange,提问作者Jacob Jacob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:18:01