【题目描述】对于给定5X5的整数矩阵,设计算法查找出所有的鞍点的信息(包括鞍点的值和行、列坐标,坐标从1开始)。 提示:鞍点的特点:列上最小,行上最大。
 
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】输入5行5列整数,同行数据间以空格为间隔。
【输出格式】在一行中以以下格式输出矩阵中的所有鞍点,每个鞍点的显示格式为: [<鞍点的行坐标>,<鞍点的列坐标>,<鞍点的值>]
【输入样例】11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4 7 8 15 10 11 20 25
【输出样例】[4,1,8][4,5,8]
 
代码:
matrix = []
matrix2 = []
matrix3 = []
for i in range(5):
a = input()
a1 = a.split(" ") # a1中的元素都是字符串,需要转换
for i in a1[::]:
if i == '':
a1.remove(i) # 去掉空元素
a1 = [int(x) for x in a1] # 将其中的元素转为int类型,方便排序
matrix.append(a1) # 插入到一个新列表 for i in range(0, 5):
matrix2 = []
for j in range(0, 5):
matrix2.append(matrix[j][i])
matrix3.append(matrix2) # 将每一列收集起来组合成新的列表 for i in range(0, 5):
for j in range(0, 5):
if matrix[i][j] == max(matrix[i]): # 判断是否为该行最大值
if matrix[i][j] == min(matrix3[j]): # 判断是否为该列最小值
print([i + 1, j + 1, matrix[i][j]], end="") # 11 3 5 6 9
# 12 4 7 8 10
# 10 5 6 9 11
# 8 6 4 7 8
# 15 10 11 20 25

最新文章

  1. ABP创建数据库操作步骤
  2. Vi 的基本使用
  3. 完善dedecms站内搜索代码,为搜索结果添加第*页
  4. codeforces 258div2C Predict Outcome of the Game
  5. 函数式编程Map()&amp;Reduce()
  6. 工作中遇到的问题--缓存配置(使用@Configuration装配 @Bean的方式注入)
  7. bash内部命令-2
  8. IT小小鸟读后感
  9. VMware系统运维(八)vCenter Server安装
  10. android 使用sqlite的一些注意事项
  11. uc/os初始化
  12. Ubuntu12.10硬盘安装
  13. 《HTML5与CSS3权威指南》读书笔记(上册)—HTML5篇
  14. sqlserver的一些小知识点
  15. [mysql]一次主从数据不一致的问题解决过程
  16. Uint 5.css继承权重,盒模型和border padding
  17. LeGO-LOAM编译、运行
  18. VM_Centos7.3_X64_安装Oracle12C 总结笔记
  19. ssh设置无密码登录
  20. SQL 中 replace 替换字符串中的字符 &#39;&#39;

热门文章

  1. LeetCode-055-跳跃游戏
  2. 如何从头到脚彻底解决一个MySQL Bug
  3. laravel 返回统一的json数据
  4. 基于Zookeeper的分布式锁(干干干货)
  5. 基于Drone+Gogs流水线-全面认识轻量级云原生CI引擎Drone
  6. python基础之序列类型的方法——字符串方法
  7. 实践:Linux下安装mysql8.0
  8. Linux 进程打开最大文件连接数Too many open files
  9. badusb
  10. leetcode刷题1--动态规划法回文串2