写一个简单的堆栈:
push(x) – Push element x onto stack.堆栈中放入一个元素
pop() – Removes the element on top of the stack.删除最上面的元素
top() – Get the top element.获取最上面元素值
getMin() – Retrieve the minimum element in the stack.获得堆栈中最小的值
class Stack:
def __init__(self):
self.stact = []
def push(self,x):
self.stact.append(x)
return self.stact
def pop(self):
self.stact.pop()
return self.stact
def top(self):
if self.stact:
return self.stact[-1]
return None
def getMin(self):
return min(self.stact)
if __name__ == '__main__':
s = Stack()
print(s.push('a'))
print(s.push('b'))
print(s.top())
print(s.getMin())
print(s.pop())
#给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。
def find_middle_num(nums1,nums2):
res = []
while nums1 and nums2:
if nums1[0] <= nums2[0]:
res.append(nums1.pop(0))
else:
res.append(nums2.pop(0))
res.extend(nums1)
res.extend(nums2)
if len(res)%2==1:
return res[len(res)//2]
else:
return res[len(res)//2-1:len(res)//2+1]
nums1 = [1,3,5]
nums2 = [2,4,6]
print(find_middle_num(nums1,nums2))