class MinStack(object):
#1构造函数
def __init__(self):
self.stack1 = []
self.stack2 = []
#1对栈进行push操作
def push(self, x):
#首先如果将输入的元素直接放在栈1就行了。
self.stack1.append(x)
#2对于栈2需要将待加入的数据进行比较,保证栈2顶端的数据是最小的。
if not self.stack1:
self.stack2.append(x)
#如果是最小的就直接放入,否则的话就舍弃。
else:
if self.stack2[-1] < x:
self.stack2.append(self.stack2[-1])
else :
self.stack2.append(x)
#2对栈进行pop操作
def pop(self):
self.stack1.pop()
self.stack2.pop()
#直接对栈进行pop操作就可
# self.stack1.pop()
# self.stack2.pop()
#获取栈顶元素
def top(self):
if stack1 :
return self.stack1[-1]
else:
return
def min(self):
return self.stack2[-1]
class MinStack(object):
#1构造函数
def __init__(self):
self.stack1 = []
self.stack2 = []
#1对栈进行push操作
def push(self, x):
#首先如果将输入的元素直接放在栈1就行了。
self.stack1.append(x)
#2对于栈2需要将待加入的数据进行比较,保证栈2顶端的数据是最小的。
if not self.stack1:
self.stack2.append(x)
#如果是最小的就直接放入,否则的话就舍弃。
else:
** if self.stack2[-1] < x:
self.stack2.append(self.stack2[-1])**
else :
self.stack2.append(x)
#2对栈进行pop操作
def pop(self):
self.stack1.pop()
self.stack2.pop()
#直接对栈进行pop操作就可
# self.stack1.pop()
# self.stack2.pop()
#获取栈顶元素
def top(self):
if stack1 :
return self.stack1[-1]
else:
return
def min(self):
return self.stack2[-1]
用self.stack[-1]提示
IndexError: list index out of range
print(self.stack2[-1])
Line 20 in push (Solution.py)
Deserializer()._deserialize(json.dumps(p[0], separators=(",", ":")), "integer"))
Line 71 in helper_select_method (Solution.py)
ret.append(DriverSolution().helper_select_method(method, params[index], obj))
Line 121 in _driver (Solution.py)
_driver()
Line 130 in (Solution.py)
这种问题。