📅  最后修改于: 2023-12-03 15:37:14.402000             🧑  作者: Mango
对于一个n x n的矩阵,找到所有行和列的总和相等的位置,即矩阵的“幸运数字”。
输入:
2
4
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
3
1 2 3
2 3 1
3 1 2
输出:
Lucky number 7 found at (2,2)
未找到
可以遍历整个矩阵,然后统计每一行的总和及每一列的总和。当行总和与列总和相等时,说明该位置为幸运数字。
def find_lucky_number(matrix):
n = len(matrix)
rows_sum = [0] * n
cols_sum = [0] * n
# 统计每行每列的和
for i in range(n):
for j in range(n):
rows_sum[i] += matrix[i][j]
cols_sum[j] += matrix[i][j]
# 遍历整个矩阵,查找幸运数字
for i in range(n):
for j in range(n):
if rows_sum[i] == cols_sum[j]:
return f"Lucky number {rows_sum[i]} found at ({i+1},{j+1})"
return "未找到"
返回的代码片段中包括一个名为 find_lucky_number
的函数,可以传入一个二维数组 matrix
,返回一个字符串,表示幸运数字的行和列位置。如果没有幸运数字,则返回 "未找到"。