假设给定矩阵如下:

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. 超2T硬盘使用gpt分区及做成lvm

    1.超过2T分区不能用fdisk了,用parted 分区格式化后对新的分区做lvm

  2. yum无法安装nginx

    yum无法安装nginx,检查yum配置文件  

  3. 2023年3月1日其它etf大涨,医疗未涨,3月2日会补涨,涨0.5%卖出。

  4. OPENCV3 API

    图像翻转 void flip(InputArray src, OutputArray dst, int flipCode); flipCode: 0: x 轴翻转 1: y 轴翻转 <0: x, ...

  5. Rest-Assured:发送PATCH请求:更新Hello-imook(java.lang.IllegalArgumentException: Invalid number of path parameters. Expected 2, was 0. Undefined path parameters are: owner, repo.)

    代码: /*     * 发送PATCH请求:更新Hello-imook     */    @Test    public void test003_PatchMethod() {        S ...

  6. Accelerated molecular dynamics simulation of Silicon Crystals on TaihuLight using OpenACC 阅读

    基于OpenACC的太湖之光硅晶体加速分子动力学模拟    2020 摘要:以SW26010异构多核处理器和扩展的编程模型,使用多体势(Tersoff)执行固体共价晶体的分子动力学(MD)模拟. Am ...

  7. WPF 后台实现按数字键滚动DataGrid 当前选中项

    最近遇到个项目,设备上没有鼠标,界面为全屏的一个DataGrid,需要实现按小键盘的0和1让DataGrid的当前选中行进行上下滚动 起到重要参考的是:   https://blog.csdn.net ...

  8. Lecture 2. Fundamental Concepts and ISA - Carnegie Mellon - Computer Architecture 2015 - Onur Mutlu

    并不只有冯诺依曼模型,按照控制流顺序执行指令 还有 data flow 模型,按照数据流顺序执行指令 冯诺依曼模型和数据流模型的编程语言的一个对比 Control-driven 编程模型和 data- ...

  9. golang 指针

    一个指针变量指向了一个值的内存地址,类似于变量和常量,在使用指针前你需要声明指针. 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置.使用&字符放在变量前面对变量进行" ...

  10. react native 更改项目包名

    修改工程名,需要以下几个步骤: 修改android/app/build.gradle里的applicationId,为新包名,譬如:com.xxx.yyy.myProject 修改android/ap ...