|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
动动手二 求幸运数字
第六行想不通 第六行col的值不还是3么,为什么要用这个形式赋值
题目-->(1. 请编程找出矩阵中的幸运数字
说明:假设给定一个 m * n 的矩阵(矩阵中数值的取值范围是 0~1024,且各不相同),如果某一个元素的值在同一行的所有元素中最小,并且在同一列的所有元素中最大,那么该元素便是幸运数字。
假设给定的矩阵如下:- matrix = [[10, 36, 52],
- [33, 24, 88],
- [66, 76, 99]]
复制代码 )
答案-->- matrix = [[10, 36, 52],
- [33, 24, 88],
- [66, 76, 99]]
-
- row = len(matrix)
- col = len(matrix[0])
-
- min_row = [1024] * row
- max_col = [0] * col
-
- # 遍历矩阵中的每一个元素
- # 找到每行中最小的元素,并将它们存放到列表min_row中
- # 找到每列中最大的元素,并将它们存放到列表max_col中
- for i in range(row):
- for j in range(col):
- min_row[i] = min(matrix[i][j], min_row[i])
- max_col[j] = max(matrix[i][j], max_col[j])
-
- # 遍历矩阵中的每一个元素
- # 判断是否同时满足“同一行的所有元素中最小”和“同一列的所有元素中最大”
- for i in range(row):
- for j in range(col):
- if matrix[i][j] == min_row[i] and matrix[i][j] == max_col[j]:
- print(matrix[i][j])
复制代码
|
|