方法一:self.方法(参数列表),注意参数列表不需要self
方法二:类名.方法(self,参数列表)
具体代码例子如下:
# 利用测试次数和鸡蛋个数的关系变化带来的确定的楼层数来解题
class dropeggs:
def superEggDrop(self, K: int, N: int) -> int:
remainTestCount = 1
# 方法一
# while self.getConfirmFloors(remainTestCount, K) < N:
# remainTestCount += 1
# return remainTestCount
# 方法二
while dropeggs.getConfirmFloors(self, remainTestCount, K) < N:
remainTestCount += 1
return remainTestCount
# 在remainTestCount个测试机会、eggsCount个鸡蛋可以确定的楼层数量
def getConfirmFloors(self, remainTestCount: int, eggsCount: int) -> int:
# 如果remainTestCount=1,只能移动一次可以确定楼层0(在一楼扔鸡蛋碎了)
# 如果eggsCount=1,只能从一楼开始往上面测试扔鸡蛋最多确定remainTestCount个楼层
if (remainTestCount == 1 or eggsCount == 1):
return remainTestCount
return self.getConfirmFloors(remainTestCount-1, eggsCount-1) + self.getConfirmFloors(remainTestCount-1, eggsCount) + 1