简单堆栈类+求取两个数组的中位数

写一个简单的堆栈:
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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值