在Python中寻找两个稀疏向量的点积的程序
假设有两个用两个列表表示的稀疏向量。我们必须返回两个稀疏向量的点积。 向量表示为对象,并将列表存储在对象的成员变量“nums”中。
因此,如果输入如vector1 = [1,0,0,0,1],vector2 = [0,0,0,1,1],那么输出将为1。点积为1 * 0 + 0 * 0 + 0 * 0 + 0 * 1 + 1 * 1 = 1。
为了解决此问题,我们将遵循以下步骤 -
- res:= 0
-
对于向量2的nums中的每个索引i,值v,我们进行以下操作
- 如果v和0相同,则
- continue
- 否则当vector1的nums [i]与0相同时,则继续进行下一次迭代
- 继续
- 否则
- res:= res + v * vector1的nums [i]
- 如果v和0相同,则
- return res
Python示例
让我们查看以下实现以更好地理解 -