我在LeetCode上解决这个问题。我有以下代码:
class ParkingSystem:
def __init__(self, big: int, medium: int, small: int):
self.big=big
self.medium =medium
self.small =small
def addCar(self, carType: int) -> bool:
if carType == 1 and self.big>0:
self.big -=1
return 'true'
elif carType ==2 and self.medium>0:
self.medium -=1
return 'true'
elif carType ==3 and self.small>0:
self.small -=1
return 'true'
else:
return 'false'
我无法理解,为什么我得到错误的输出?输入
["ParkingSystem", "addCar", "addCar", "addCar", "addCar"]
[[1, 1, 0], [1], [2], [3], [1]]
输出[null, true, true, false, false]
my output: output
[null,true,true,true,true]
请帮助。提前谢谢。
您的函数将返回一个布尔值,因为您在函数定义处放置了一个布尔指针。
改变:
def addCar(self, carType: int) -> bool:
:
def addCar(self, carType: int) -> str:
当然,也可以将返回字符串更改为实际的布尔值。
class ParkingSystem:
def __init__(self, big: int, medium: int, small: int):
self.big=big
self.medium =medium
self.small =small
def addCar(self, carType: int) -> bool:
if carType == 1 and self.big>0:
self.big -=1
return True
elif carType ==2 and self.medium>0:
self.medium -=1
return True
elif carType ==3 and self.small>0:
self.small -=1
return True
else:
return False
返回布尔值True或False。