当前位置: 首页 > 面试题库 >

索引对之间的子数组中数值的总和

羊浩广
2023-03-14
问题内容

假设我有一个数组A。我有一系列索引对(a1,b1),(a2,b2)…(an,bn)

我想获取这些对之间元素的所有和。即

sum(A[a1:b1]), sum(A[a2:b2]), sum(A[a3:b3]) ...

就运行时而言,最有效的方法是什么?

谢谢!


问题答案:

假设您的索引对存储在一个NumPyindices形状的数组中(n, 2)并且n相当大,最好避免任何Python循环

c = numpy.r_[0, A.cumsum()][indices]
sums = c[:,1] - c[:,0]


 类似资料:
  • 我正在尝试用Java编写一个函数,它接受两个数组,并对数组1中的索引值求和,其中的值与数组2匹配,例如。 数组1={15、6、99、12、35} 数组2={1,12,7,99,35} 匹配“Array1[索引]”值=2(99)、3(12)、4(35) 因此,返回9(2 3 4) 我建议使用以下方法进行此操作: 但是如果Array2中有一个不匹配的值,我也想返回-1。所以在上面的情况下,1和7不在A

  • 问题内容: 我想计算所有奇数数组索引的总和,但是在寻找正确的方法时遇到了一些麻烦。 到目前为止,这是我的代码: 关于为何不起作用的任何想法,或者更简单的方法?为了澄清,我想在奇数数组索引位置添加所有数字,所以。 编辑: 忘记提及我只想添加1、3、5、7、9、11,而不是13。 问题答案: 刚刚编辑了代码:

  • 问题内容: 我有一个像这样的数组: 如果用户将“ Designation2”作为输入,则代码应返回。 这可能是一个非常简单的问题,但是我是Java的新手。因此,请提出一些建议。 问题答案: 您可以遍历数组中的字符串,并找到与您要查找的字符串匹配的索引。

  • 问题内容: 我有一个2D Numpy数组,包含从0到n的值。我想要一个长度为n的列表,以使该列表的第i个元素是值i + 1(不包括0)的所有索引的数组。 例如,对于输入 我期望得到 我发现了一个相关的问题: 在numpy数组中获取重复元素的所有索引的列表, 这可能会有所帮助,但我希望找到一个更直接的解决方案,该方法不需要展平和排序数组,并且尽可能高效。 问题答案: 这是一种矢量化方法,适用于任意数

  • 问题内容: 从如下所示的数组中,如何获取数组中最大值的索引。对于下面的数组,期望的结果将为‘11’。 问题答案: 我的解决方案是: 注意: 这样,您可以检索与给定 最大值 相关的 每个键 。 __ 如果您只对 其中一个键 感兴趣,只需使用 $ maxs [0]

  • 我正在写一个代码,我正在对数组值进行一些计算,并将结果存储回数组。演示代码如下- 程序的主要逻辑在于 当我测试这段代码时,它花了110ms。但是如果我把它赋给一个变量,而不是将结果返回到x[d] 只花了3毫秒。 我只想将结果分配回数组,但这会极大地影响性能。这是一个时间紧迫的计划。 所以我想知道在Java中是否有任何替代数组的方法或任何其他方法可以避免这种阻碍? 我在默认的sun JVM配置下测试