|
|
求助各位师哥师姐们 ··~··
#题目:找幸运值(同行中最小,同列中最大)。思路:找每行中最小值,存储到列表min_matrix中,又通过索引对应原列表列中最大值,存储到max_matrix,然后对两个列表取交集,这样的思路对吗?有没有bug啊?
鱼油你好!你的思路有bug哦。因为 min_matrix 存储的是每行的最小值,max_matrix 存储的是每列的最大值,但取交集可能会匹配到不同的元素(比如一个值只是行最小,另一个值只是列最大,但并非同一个元素)。幸运值要求是同一个元素同时满足行最小和列最大。
正确思路:直接遍历矩阵中的每个元素,检查它是否既是所在行的最小值,又是所在列的最大值。
示例代码:
- matrix = [[3, 7, 8],
- [9, 11, 13],
- [15, 16, 17]] # 示例矩阵,幸运值是15(第三行最小,第一列最大)
- lucky_numbers = []
- for i in range(len(matrix)):
- for j in range(len(matrix[0])):
- current = matrix[i][j]
- # 检查是否为行最小
- if current == min(matrix[i]):
- # 检查是否为列最大
- column = [row[j] for row in matrix]
- if current == max(column):
- lucky_numbers.append(current)
- print(lucky_numbers) # 输出 [15]
复制代码
注意:如果矩阵中有多个幸运值,它们都会被收集到列表中。代码假设矩阵是规整的(每行长度相同)。
希望这能帮到你!加油哦~{:5_146:}
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|