Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- This problem was asked by Facebook.
- You have a large array with most of the elements as zero.
- Use a more space-efficient data structure, SparseArray, that implements the same interface:
- init(arr, size): initialize with the original large array and size.
- set(i, val): updates index at i with val.
- get(i): gets the value at index i.
- """
- class SparseArray:
- def __init__(self, arr, size):
- self.sparseMap = {}
- for i, element in enumerate(arr):
- if element:
- self.sparseMap[i] = element
- def set(self, i, val):
- self.sparseMap[i] = val
- def get(self, i):
- return self.sparseMap[i]
- s = SparseArray([0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,2], 16)
- print(s.get(15))
- s.set(1, 9)
- print(s.get(1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement