擅长:python、mysql、java
<p>您可以将pairWiseDiff的计算数量减少到一半以下。时间戳有<code>N</code>个元素,pairWiseDiff有<code>N*N</code>个元素。考虑pairWiseDiff:第一行是零,其他元素是对角对称的,不需要计算两次。所以从<code>N*N</code>元素中,你只需要计算<code>(N*N - N)/2</code>。在</p>
<p>在我的解决方案中,pairWiseDiff仍然有<code>N*N</code>个元素。你可以用新的三对角数组来改进它。也许for循环可以用numpy.roll公司和/或数字切片. 在</p>
<pre><code>import numpy as np
timestamps = np.array([0,1,2,3,4,5,6,7,8,9])+10
N = len(timestamps)
pairWiseDiff = np.zeros((N,N))
for n in range(1,N):
pairWiseDiff[n,n:N] = timestamps[n:N] - timestamps[0:N-n]
print(n,timestamps[n:N])
pairWiseDiff
</code></pre>