1. (算法设计题) 设计一个算法,求二维数组两条对角线上的元素之和
时间: 2024-10-25 10:14:59 浏览: 15
设计一个算法来计算二维数组 (矩阵) 的两条对角线上的元素之和,可以按照以下步骤来进行:
1. 初始化两个变量 `sumDiag1` 和 `sumDiag2` 分别表示主对角线和副对角线上的元素总和,初始值都为0。
2. 遍历二维数组,对于每个元素 (i, j),它位于主对角线上(即 i = j)时,将该元素加到 `sumDiag1` 中;位于副对角线上(即 i + j = 维度 - 1,其中维度是数组的长度)时,将该元素加到 `sumDiag2` 中。注意,由于数组下标从0开始,所以副对角线的判断需要减去1。
3. 当遍历结束后,返回 `sumDiag1` 和 `sumDiag2` 的和,作为结果。
伪代码示例:
```python
function sumDiagonals(matrix):
n = len(matrix)
sumDiag1 = 0
sumDiag2 = 0
for i in range(n):
# 主对角线
sumDiag1 += matrix[i][i]
# 副对角线
if i < n - i] # 对应的元素索引
return sumDiag1 + sumDiag2
```
阅读全文