原题出处:https://leetcode.cn/leetbook/read/top-interview-questions-medium/xw5rt1/
解法一:
class RandomizedSet:
def __init__(self):
self.res = []
def insert(self, val: int) -> bool:
if val not in self.res:
self.res.append(val)
return True
return False
def remove(self, val: int) -> bool:
if val not in self.res:
return False
index = self.res.index(val)
del self.res[index]
return True
def getRandom(self) -> int:
return random.choice(self.res)
# Your RandomizedSet object will be instantiated and called as such:
# obj = RandomizedSet()
# param_1 = obj.insert(val)
# param_2 = obj.remove(val)
# param_3 = obj.getRandom()
思路:map的思路,就是用一个数组存,然后通过索引删,通过一个随机数查。