鱼C论坛

 找回密码
 立即注册
查看: 25|回复: 1

求助各位师哥师姐们 ··~··

[复制链接]
发表于 昨天 18:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#题目:找幸运值(同行中最小,同列中最大)。思路:找每行中最小值,存储到列表min_matrix中,又通过索引对应原列表列中最大值,存储到max_matrix,然后对两个列表取交集,这样的思路对吗?有没有bug啊?

  1. matrix=[[10,36,52],
  2.         [33,24,88],
  3.         [66,76,99]]
  4. min_matrix=[]
  5. max_matrix=[]

  6. for i in matrix:
  7.     min_x=min(i)
  8.     min_matrix.append(min_x)

  9. for val in min_matrix:
  10.     for row in matrix:
  11.         if val in row:
  12.             index=row.index(val)

  13.     col_elements=[]
  14.     for r in range(len(matrix)):
  15.         col_elements.append(matrix[r][index])
  16.         max_matrix.append(max(col_elements))

  17. same_vals=[val for val in min_matrix if val in max_matrix]
  18. print(same_vals)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 18:44 | 显示全部楼层
求助各位师哥师姐们 ··~··
#题目:找幸运值(同行中最小,同列中最大)。思路:找每行中最小值,存储到列表min_matrix中,又通过索引对应原列表列中最大值,存储到max_matrix,然后对两个列表取交集,这样的思路对吗?有没有bug啊?


鱼油你好!你的思路有bug哦。因为 min_matrix 存储的是每行的最小值,max_matrix 存储的是每列的最大值,但取交集可能会匹配到不同的元素(比如一个值只是行最小,另一个值只是列最大,但并非同一个元素)。幸运值要求是同一个元素同时满足行最小和列最大。

正确思路:直接遍历矩阵中的每个元素,检查它是否既是所在行的最小值,又是所在列的最大值。

示例代码:


  1. matrix = [[3, 7, 8],
  2.           [9, 11, 13],
  3.           [15, 16, 17]]  # 示例矩阵,幸运值是15(第三行最小,第一列最大)

  4. lucky_numbers = []
  5. for i in range(len(matrix)):
  6.     for j in range(len(matrix[0])):
  7.         current = matrix[i][j]
  8.         # 检查是否为行最小
  9.         if current == min(matrix[i]):
  10.             # 检查是否为列最大
  11.             column = [row[j] for row in matrix]
  12.             if current == max(column):
  13.                 lucky_numbers.append(current)

  14. print(lucky_numbers)  # 输出 [15]
复制代码


注意:如果矩阵中有多个幸运值,它们都会被收集到列表中。代码假设矩阵是规整的(每行长度相同)。

希望这能帮到你!加油哦~{:5_146:}

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-2 02:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表