计算矩阵周围四边元素之和
时间: 2024-05-04 15:17:23 浏览: 15
假设给定一个大小为 $m \times n$ 的矩阵 $A$,其中 $m$ 行 $n$ 列。对于矩阵 $A$ 中的任意一个位置 $(i,j)$,其周围四边的元素为 $(i-1,j), (i+1,j), (i,j-1), (i,j+1)$。如果某个位置没有对应的元素,那么就视为 0。那么,矩阵 $A$ 中位置 $(i,j)$ 周围四边元素之和为:
$$
\begin{aligned}
& A_{i-1,j} + A_{i+1,j} + A_{i,j-1} + A_{i,j+1} \\
= & \begin{cases}
A_{i-1,j} & i > 1 \\
0 & i = 1 \\
\end{cases} +
\begin{cases}
A_{i+1,j} & i < m \\
0 & i = m \\
\end{cases} +
\begin{cases}
A_{i,j-1} & j > 1 \\
0 & j = 1 \\
\end{cases} +
\begin{cases}
A_{i,j+1} & j < n \\
0 & j = n \\
\end{cases}
\end{aligned}
$$
因此,可以用如下的 Python 代码实现:
```python
def sum_around(matrix, i, j):
m, n = len(matrix), len(matrix[0])
up = matrix[i-1][j] if i > 0 else 0
down = matrix[i+1][j] if i < m-1 else 0
left = matrix[i][j-1] if j > 0 else 0
right = matrix[i][j+1] if j < n-1 else 0
return up + down + left + right
```
其中,`matrix` 表示输入的矩阵,`(i,j)` 表示要计算的位置,函数返回该位置周围四边元素的和。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)