假设给定矩阵如下:

matrix=[[10,36,52],

[33,24,88],

[66,76,99]]

那么输出结果应为66(同时满足条件)

代码如下:

arr=[[10,36,52],
[33,24,88],
[66,76,99]]

#获取矩阵的元素个数,也就是行数
row=len(arr) #row=3
print(row)
#获取矩阵的列数数,也就是一维数组中的元素个数
col=len(arr[0]) #col=3
print(col)

#有多少行就有多少个行最小值,minrow[col],来进行统计col取值为0..row
#同理有多少个列就有多少个列最大值,用maxcol[col],来进行统计col取值为0..col
#先赋初值,题目是0到1024,那就可以让最小值初值为最大,最大值初值为最小
minrow=[1024]*row
for i in range(row):
  print(minrow[i])
#这里就是把minrow[0]=1024,minrow[1]=1024,minrow[2]=1024
maxcol=[0]*col
for i in range(col):
  print(maxcol[i])
#这里就是把mincol[0]=0,mincol[1]=0,mincol[2]=0
#这个容易理解,要求最小,我就拿个最大的和你比,如果比我小,让换成小的,直到找到最小,同理找到最大的也是这样

#i为行号,j为列号
for i in range(row):
  for j in range(col):
    print(i,j,arr[i][j])
    minrow[i]=min(arr[i][j],minrow[i]) #第一次让arr[0,0]=10和minrow[0]=1024进行对比,取小的minrow[0]=10,以此类推
    maxcol[j]=max(arr[i][j],maxcol[j]) #第一次让arr[0,0]=10和maxrow[0]=0进行对比,取大的maxrow[0]=10,以此类推,一个元素即是在行i里面,同时又在列j里面,所以同时比较

#通过上面比较,我们获取了minrow[0]=10,minrow[1]=24,minrow[2]=66,
#通过上面比较,我们获取了maxcol[0]=66,maxcol[1]=76,maxcol[3]=99

#接下来获取幸运数就容易了,两两比较有相等的就可以了
for i in range(row):
  for j in range(col):
    if minrow[i]==maxcol[j]:
      print("幸运数是:",minrow[i])

运行结果:

python 编程找出矩阵中的幸运数字:说明,在一个给定的M*N的矩阵(矩阵中的取值0-1024,且各不相同),如果某一个元素的值在同一行中最小,并且在同一列中元素最大,那么该数字为幸运数字。的更多相关文章

  1. python基础练习题(题目 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数)

    day12 --------------------------------------------------------------- 实例019:完数 题目 一个数如果恰好等于它的因子之和,这个 ...

  2. 代码实现:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.第二个完全数是28, //它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加, //编程找出1000以内的所有完数。

    import java.util.ArrayList; import java.util.List; //一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3. ...

  3. 算法面试题(python)——如何找出数组中出现一次的数

    题目描述: 一个数组里,除了三个数是唯一出现的,其余的数都出现了偶数次,找出这三个数中任意一个.比如数组序列为[1,2,4,5,6,4,2],只有1.5.6这三个数字是唯一出现的,数字2.4均出现了偶 ...

  4. python——快速找出两个电子表中数据的差异

    最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力. 公司里会有这样的场景:有一张电子表格的内容由两三个部门或者更多的部门用到,这些员工会在维护这些表格中不定期的 ...

  5. python:找出两个列表中相同和不同的元素(使用推导式)

    #接口返回值 list1 = ['张三', '李四', '王五', '老二'] #数据库返回值 list2 = ['张三', '李四', '老二', '王七'] a = [x for x in lis ...

  6. zookeeper,通过python连接找出其对应的hive

    #通过zookpeer找到对应的hive from kazoo.client import KazooClient zkClient = KazooClient(hosts="ip1:218 ...

  7. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程     找出1000以内的所有完数。

    package a; public class Wanshu { public static void main(String[] args) { for (int i = 1; i <= 10 ...

  8. 【Python3练习题 014】 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。

    a.b只要数字a能被数字b整除,不论b是不是质数,都算是a的因子.比如:8的质因子是 2, 2, 2,但8的因子就包括 1,2,4. import math   for i in range(2, 1 ...

  9. C/C+面试题一:找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)

    已知字符串"aabbbcddddeeffffghijklmnopqrst"编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2) /********************* ...

  10. python经典算法题目:找出这两个有序数组的中位数

    题目:找出这两个有序数组的中位数 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以 ...

随机推荐

  1. fastapi四:uvicorn.run支持的参数

    `app:指定应用app,'脚本名:FastAPI实例对象'.FastAPI实例对象 host: 字符串,允许被访问的形式 locahost.127.0.0.1.当前IP.0.0.0.0,默认为127 ...

  2. layui 关闭/打开新标签

    setTimeout(function () { //关闭当前页面并跳转到课程列表 var topLayui = parent === self ? layui : top.layui; parent ...

  3. pip备份、安装requirements.txt中的包和anaconda的安装(linux)

    pip备份.安装requirements.txt中的包和anaconda的安装(linux)   1. 从已有的环境中,备份已经安装的package pip freeze > requireme ...

  4. 跨时钟域之异步FIFO

    参考:https://www.cnblogs.com/aslmer/p/6114216.html 文章:Simulation and Synthesis Techniques for Asynchro ...

  5. ssh_remote_without_password

    2 machines, 1 called client , 1 called server , server need static ip address. client connects serve ...

  6. PL/SQL Initialization error Could not initialize 问题

    问题: PL/SQL Initialization error Could not initialize 问题 参考链接: https://blog.csdn.net/luoyanjiewade/ar ...

  7. 访问修饰符 protected(s)

    protected 受保护的:可以在当前类的内部以及该类的子类中可以访问. using System; using System.Collections.Generic; using System.L ...

  8. Linux-crontab定期执行程序的命令

    https://www.runoob.com/linux/linux-comm-crontab.html Linux crontab 是用来定期执行程序的命令. 当安装完成操作系统之后,默认便会启动此 ...

  9. Software--电商平台系统--P2 支撑基础设施 Infrastructure

    2018-01-11  18:19:49 架构 客户体验 Ajax 交互技术. 网站快速加载且响应灵敏,则应该缓存商品数据. 灵活的缓存机制,以支持任何类型的存储(即分布式存储或内存中存储). 日志功 ...

  10. 通过python程序让MySQL利用binlog恢复误操作数据

    MySQL利用binlog恢复误操作数据 在人工手动进行一些数据库写操作的时候(比方说数据订正),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线 ...