Advertisement
smj007

Untitled

Mar 5th, 2024
668
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.78 KB | None | 0 0
  1. class SparseVector:
  2.     # Constructor for sparseVector.
  3.     def __init__(self, nums: List[int]) -> None:
  4.         # write your code here
  5.        
  6.         self.pairs = []
  7.         for ind, num in enumerate(nums):
  8.             if num:
  9.                 self.pairs.append([ind, num])
  10.  
  11.  
  12.     def dotProduct(self, vec) -> int:
  13.         # write your code here
  14.        
  15.         p = 0
  16.         q = 0
  17.         result = 0
  18.         while p < len(self.pairs) and q < len(vec.pairs):
  19.             if self.pairs[p][0] == vec.pairs[q][0]:
  20.                 result += self.pairs[p][1]*vec.pairs[q][1]
  21.                 p = p + 1
  22.                 q = q + 1
  23.             elif self.pairs[p][0] < vec.pairs[q][0]:
  24.                 p = p + 1
  25.             else:
  26.                 q = q + 1
  27.  
  28.         return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement