没有合适的资源?快使用搜索试试~ 我知道了~
笔试题——max pooling滑动窗口实现(python 代码)
6 下载量 138 浏览量
2021-01-20
02:32:00
上传
评论 2
收藏 34KB PDF 举报
温馨提示
试读
2页
题目 输入:从控制台获取n,m,a,b;其中n*m为矩阵大小,a*b为滑动窗口大小 矩阵中的值,通过(i*j)mod 10 得到, 在滑动过程中,需要获得每次滑动窗口中的最大值,并存储下来 输出:所有最大值的和 要求及思路 纯暴力求解法,时间复杂度过高,需要使用滑动窗口方法求解 题目为2维矩阵,所以需要对行和列依次使用滑动窗口方法即可 不了解滑动窗口的可以参考一维滑动窗口这篇文章 源码 from pip._vendor.distlib.compat import raw_input class Solution: #获得输入参数 def get_parameters
资源详情
资源评论
资源推荐
笔试题笔试题——max pooling滑动窗口实现滑动窗口实现(python 代码代码)
题目题目
输入:从控制台获取n,m,a,b;其中n*m为矩阵大小,a*b为滑动窗口大小
矩阵中的值,通过(i*j)mod 10 得到,
在滑动过程中,需要获得每次滑动窗口中的最大值,并存储下来
输出:所有最大值的和
要求要求及思路及思路
纯暴力求解法,时间复杂度过高,需要使用滑动窗口方法求解
题目为2维矩阵,所以需要对行和列依次使用滑动窗口方法即可
不了解滑动窗口的可以参考一维滑动窗口这篇文章
源码源码
from pip._vendor.distlib.compat import raw_input
class Solution:
#获得输入参数
def get_parameters(self):
# get the input from console
input_array = raw_input().split(" ")
n = input_array[0] m = input_array[1] a = input_array[2] b = input_array[3] print(n, m, a, b)
return int(n),int(m),int(a),int(b)
#构建矩阵
def create_matrix(self,n,m):
# create the matrix
matrix = [] for i in range(int(n)):
inner_list = [] for j in range(int(m)):
ele = (i + 1) * (j + 1) % 10
inner_list.append(ele)
matrix.append(inner_list)
# print(matrix)
return matrix
#对每行使用滑动窗口获得新的矩阵
def getRowMaxWindow(self,matrix,row,col,w):
queue=[] result_list=[] for i in range(row):
inner_list=[] for j in range(col):
while queue and matrix[i][queue[-1]]=w-1:
inner_list.append(matrix[i][queue[0]])
result_list.append(inner_list)
return result_list
#在每行使用滑动窗口后获得的矩阵基础上,对每列使用滑动窗口
def getColMaxWindow(self,matrix,row,col,w):
queue=[] result_list=[] for j in range(col):
inner_list=[] for i in range(row):
while queue and matrix[queue[-1]][j]=w-1:
inner_list.append(matrix[queue[0]][j])
result_list.append(inner_list)
return result_list
#对矩阵求和
def getSum(self,matrix,row,col):
sum=0
for i in range(row):
for j in range(col):
sum+=matrix[i][j] return sum
if __name__=="__main__":
so=Solution()
n,m,a,b=so.get_parameters()
matrix=so.create_matrix(n,m)
print(matrix)
res_matrix=so.getRowMaxWindow(matrix,n,m,b)
print(res_matrix)
res_matrix2=so.getColMaxWindow(res_matrix,n,m-b+1,a)
print(res_matrix2)
weixin_38743737
- 粉丝: 376
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0