
python刷题
weixin_40245436
这个作者很懒,什么都没留下…
展开
-
左神带我飞之06[编程题]用两个栈实现队列,支持队列的基本操作。
用两个栈实现队列,支持队列的基本操作。 最近想练练python import sys class Soul(object): def __init__(self): self.l1=[] self.l2=[] def add(self,x): self.l1.append((x)) def peek(self): ...原创 2019-08-18 20:55:04 · 166 阅读 · 0 评论 -
左神带我飞之11[编程题]求最大子矩阵的大小
单调栈这个概念挺有意思 from collections import deque def tomaxare(rec): stack=[] res=0 for i,n in enumerate(rec): while stack and rec[i]<=rec[stack[-1]]: temp=rec[sta...原创 2019-08-22 21:21:03 · 173 阅读 · 0 评论 -
左神带我飞之11[编程题]生成窗口最大值数组
学会 deque from collections import deque def soul(nums,k): d=deque(maxlen=k) res=list() for i,n in enumerate(nums): if i<k-1: if i==0: ...原创 2019-08-22 19:04:49 · 125 阅读 · 0 评论 -
左神带我飞之10[编程题]用一个栈实现另一个栈的排序
冒泡思想 还是比较简单的 def soul(nums): help=list() help.append(nums.pop()) while len(nums)!=0: cur=nums.pop() if cur<=help[-1]: help.append(cur) el...原创 2019-08-22 15:11:07 · 103 阅读 · 0 评论 -
左神带我飞之09[编程题]换钱的最少货币数
动态规划 很简单 def soul(nums,a): if a<nums[0]: return -1 l=len(nums) rec=[-1]*(a+1) rec[0]=0 for i in range(1,a+1): temp1=-1 rec[i] = float("inf...原创 2019-08-22 10:51:51 · 185 阅读 · 0 评论 -
左神带我飞之14[编程题]数组小和
def merge(nums ,l ,r ,mids): if l== r: return 0 temp = [0] * (r - l + 1) l1 = l r1 = mids + 1 i = 0 res = 0 while l1 <= mids and r1 <= r: if nums[l1...原创 2019-08-25 22:55:27 · 210 阅读 · 0 评论 -
快手笔试第一题之视频推荐
def go(dir_r,k,n): l=0 r=0 res=[] temp=0 test=1 while l<k or r<k: if (len(res))%n==0: test = 1 while l<k: if dir_r[l]=='P': ...原创 2019-08-25 22:02:19 · 237 阅读 · 0 评论 -
左神带我飞之13[编程题]换钱的方法数
from collections import deque def go(nums,num): rec=[1]+[0]*num for n in nums: for i in range(n,num+1): rec[i]=rec[i]+rec[i-n] retur...原创 2019-08-23 16:44:15 · 286 阅读 · 0 评论 -
左神带我飞之08[编程题]]未排序数组中累加和为给定值的最长子数组长度
这个用数组检验很巧妙 def soul(k,nums): l=0 sums=0 rec=0 temp=0 dir_s={0:-1} for i in range(len(nums)): sums+=nums[i] if sums not in dir_s: dir_s[...原创 2019-08-19 18:25:39 · 110 阅读 · 0 评论 -
左神带我飞[番外篇]python数据结构常用的优先队列和自定义排序以及数据类型典型例子总结
python 自定义优先队列 优先队列内部默认实现的是小根堆,具有的操作主要有: 向队列中添加元素 Queue.put(obj),每添加一个元素优先队列内部就会进行调整成最小堆; 从队列中获取元素 Queue.get(),每取出一个元素队列内部就会进行调整; 队列判空 Queue.empty() 队列大小 Queue.qsize() 队列存储的元素是数字: >>>...原创 2019-08-19 09:53:11 · 474 阅读 · 0 评论 -
左神带我飞之07[编程题]用递归函数和栈逆序一个栈
通过这个题可以清楚的理解递归! import sys def dellast(nums): re=nums.pop() if not nums: return re else: i=dellast(nums) nums.append(re) return i def revers...原创 2019-08-18 22:22:44 · 133 阅读 · 0 评论 -
左神带我飞之12[编程题]机器人达到指定位置方法数
动态规划+空间压缩 def go(n,m,p,k): rec=[0]*(n+1) rec[p]=1 for i in range(k): last = rec[1] for j in range(n): temp=rec[j] if j==1: ...原创 2019-08-22 22:33:04 · 223 阅读 · 0 评论