当前位置:网站首页>Simulation volume leetcode [general] 1314 Matrix area and
Simulation volume leetcode [general] 1314 Matrix area and
2022-07-06 06:18:00 【Encounter simulation volume】
1314. Matrix regions and
To give you one m x n Matrix mat And an integer k , Please return a matrix answer , Each of them answer[i][j] Are all elements that meet the following conditions mat[r][c] And :
i - k <= r <= i + k,
j - k <= c <= j + k And
(r, c) In the matrix .
Example 1:
Input :mat = [[1,2,3],[4,5,6],[7,8,9]], k = 1
Output :[[12,21,16],[27,45,33],[24,39,28]]
Example 2:
Input :mat = [[1,2,3],[4,5,6],[7,8,9]], k = 2
Output :[[45,45,45],[45,45,45],[45,45,45]]
Tips :
m == mat.length
n == mat[i].length
1 <= m, n, k <= 100
1 <= mat[i][j] <= 100
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/matrix-block-sum
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Code :
import numpy as np
from leetcode_python.utils import *
from scipy import signal
class Solution:
def __init__(self):
pass
def matrixBlockSum(self, mat: List[List[int]], k: int) -> List[List[int]]:
data = np.array(mat)
h,w = data.shape
res = [[int(np.sum(data[max(0,i-k):min(h,i+k+1),max(0,j-k):min(w,j+k+1)])) for j in range(w)] for i in range(h)]
return res
def matrixBlockSum_conv(self, mat: List[List[int]], k: int) -> List[List[int]]:
""" But I don't know why the result is wrong , In particular, the convolution kernel exceeds mat When """
data = np.array(mat)
print(data)
nurcle = np.ones((1+k*2,1+k*2)).astype(np.uint32)
# nurcle[k][k]=0
print(nurcle)
res = signal.convolve2d(data, nurcle, boundary='fill', fillvalue=0).astype(np.uint8)
# res = signal.convolve2d(data, nurcle, 'same').astype(np.uint8)
print(res)
return res.tolist()
def test(data_test):
s = Solution()
return s.matrixBlockSum(*data_test)
def test_obj(data_test):
result = [None]
obj = Solution(*data_test[1][0])
for fun, data in zip(data_test[0][1::], data_test[1][1::]):
if data:
res = obj.__getattribute__(fun)(*data)
else:
res = obj.__getattribute__(fun)()
result.append(res)
return result
if __name__ == '__main__':
datas = [
# [[[1,2,3],[4,5,6],[7,8,9]],2],
[[[67,64,78],[99,98,38],[82,46,46],[6,52,55],[55,99,45]],3],
# [[[1,1,1],[1,2,1],[1,1,1],[1,1,1],[1,1,1]],3],
# [[[1,1,1,1,1],[1,2,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1]],5],
]
for data_test in datas:
t0 = time.time()
print('-' * 50)
print('input:', data_test)
print('output:', test(data_test))
print(f'use time:{
time.time() - t0}s')
remarks :
GitHub:https://github.com/monijuan/leetcode_python
CSDN Summary : Simulation volume Leetcode Summary of questions _ Paper blog -CSDN Blog
You can add QQ Group communication :1092754609
leetcode_python.utils See the description on the summary page for details
First brush questions , Then generated by script blog, If there is any mistake, please leave a message , I see it will be revised ! thank you !
边栏推荐
- Overview of three core areas of Mathematics: algebra
- 还在为如何编写Web自动化测试用例而烦恼嘛?资深测试工程师手把手教你Selenium 测试用例编写
- Testing of web interface elements
- 【eolink】PC客户端安装
- Application of Lie group in gtsam
- 【C语言】qsort函数
- 一文揭开,测试外包公司的真 相
- 【Postman】动态变量(也称Mock函数)
- P问题、NP问题、NPC问题、NP-hard问题详解
- Seven imperceptible truths in software testing
猜你喜欢
随机推荐
[API interface tool] Introduction to postman interface
2022 software testing workflow to know
数据库隔离级别
Database isolation level
【Postman】Collections配置运行过程
Buuctf-[bjdctf2020]zjctf, but so (xiaoyute detailed explanation)
Expose the serial fraudster Liu Qing in the currency circle, and default hundreds of millions of Cheng Laolai
LeetCode 739. 每日温度
模拟卷Leetcode【普通】1447. 最简分数
技术分享 | 常见接口协议解析
ICLR 2022 spotlight | analog transformer: time series anomaly detection method based on correlation difference
[postman] collections - run the imported data file of the configuration
Overview of three core areas of Mathematics: algebra
[wechat applet] build a development tool environment
全链路压测:构建三大模型
Réflexions sur la sécurité des données (réimpression)
「 WEB测试工程师 」岗位一面总结
Testing of web interface elements
【API接口工具】postman-界面使用介绍
[eolink] PC client installation








![[postman] the monitors monitoring API can run periodically](/img/9e/3f6150290b868fc1160b6b01d0857e.png)