Skip to content

Commit 39efa09

Browse files
committed
Time: 1323 ms (53.91%), Space: 22.2 MB (19.26%) - LeetHub
1 parent c4bd80a commit 39efa09

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# time complexity: O(n)
2+
# space complexity: O(n)
3+
from typing import List
4+
5+
6+
class SparseVector:
7+
def __init__(self, nums: List[int]):
8+
self.vecList = nums
9+
10+
def dotProduct(self, vec: 'SparseVector') -> int:
11+
newList = vec.vecList
12+
count = 0
13+
for i, num in enumerate(newList):
14+
count += num * self.vecList[i]
15+
16+
return count
17+
18+
19+
# Your SparseVector object will be instantiated and called as such:
20+
nums1 = [1, 0, 0, 2, 3]
21+
nums2 = [0, 3, 0, 4, 0]
22+
v1 = SparseVector(nums1)
23+
v2 = SparseVector(nums2)
24+
print(v1.dotProduct(v2))
25+
nums1 = [0, 1, 0, 0, 0]
26+
nums2 = [0, 0, 0, 0, 2]
27+
v1 = SparseVector(nums1)
28+
v2 = SparseVector(nums2)
29+
print(v1.dotProduct(v2))
30+
nums1 = [0, 1, 0, 0, 2, 0, 0]
31+
nums2 = [1, 0, 0, 0, 3, 0, 4]
32+
v1 = SparseVector(nums1)
33+
v2 = SparseVector(nums2)
34+
print(v1.dotProduct(v2))

0 commit comments

Comments
 (0)