leetcodeの706. Design HashMapという問題を解いていて下記の正解例をみつけました。
この箇所でリストをつくって、その中にputメソッドでkeyを指定してvalueをいれているとおもうんですが、なぜリストにいれられるのかが理解できずにいます。
もしかしたら私の基本的な理解の知識不足かもしれませんので、どなたかお気づきの点ありましたらご指摘いただけますでしょうか?
self.data = [None] * 1000000
正解例
python
1class MyHashMap: 2 3 def __init__(self): 4 """ 5 Initialize your data structure here. 6 """ 7 self.data = [] 8 self.data = [None] * 1000000 9 10 11 def put(self, key: int, value: int) -> None: 12 """ 13 value will always be non-negative. 14 """ 15 self.data[key] = value 16 17 def get(self, key: int) -> int: 18 """ 19 Returns the value to which the specified key is mapped, or -1 if this map contains no mapping for the key 20 """ 21 if self.data[key] is None: 22 return -1 23 else: 24 return self.data[key] 25 26 27 28 def remove(self, key: int) -> None: 29 """ 30 Removes the mapping of the specified value key if this map contains a mapping for the key 31 """ 32 self.data[key] = None
念の為自分でも確認してみましたができません。
python
1In [429]: data = [None] * 1000000 2 3In [430]: type(data) 4Out[430]: list 5 6In [431]: data["key"] = "value" 7--------------------------------------------------------------------------- 8TypeError Traceback (most recent call last) 9<ipython-input-431-9eec82b7af50> in <module> 10----> 1 data["key"] = "value" 11 12TypeError: list indices must be integers or slices, not str 13 14In [432]:
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/18 14:00
2021/08/18 14:03