jtxs0000 发表于 2020-10-22 15:56:14

矩阵中的幸运数

最近求助帖有点少了,难道各位都变大神,就我还是小菜B一个吗?
如果是这样的话我就发点题目给你做做{:10_256:}
请看题:

给你一个 m * n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。

幸运数是指矩阵中满足同时下列两个条件的元素:

在同一行的所有元素中最小
在同一列的所有元素中最大
 

示例 1:

输入:matrix = [,,]
输出:
解释:15 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。

示例 2:

输入:matrix = [,,]
输出:
解释:12 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。


来吧,是时候表演真正的技术了{:10_284:}


疾风怪盗 发表于 2020-10-22 16:10:51

import numpy as np

matrix = [, , ]
#matrix = [,,]
m = np.array(matrix).reshape(len(matrix),len(matrix))
print(m)
index_min = m.min(axis=1)
column_max = m.max(axis=0)
num=
if len(num)>0:
    print('幸运数字:', num)
else:
    print('未找到')

jtxs0000 发表于 2020-10-22 16:17:37

疾风怪盗 发表于 2020-10-22 16:10


基础题,不能用到库{:10_262:}

疾风怪盗 发表于 2020-10-22 16:45:42

jtxs0000 发表于 2020-10-22 16:17
基础题,不能用到库

这样够基础了吧,都是循环
matrix = [, , ]
#matrix = [,,]
matrix_new=[[] for i in range(len(matrix))]
#行中最小
index_min=[]
#列中最大
column_max=[]
for key,value in enumerate(matrix):
    for key2,value2 in enumerate(value):
      matrix_new.append(value2)
    index_min.append(min(value))
for key,value in enumerate(matrix_new):
    column_max.append(max(value))

num=
if len(num)>0:
    print('幸运数字:', num)
else:
    print('未找到')

jtxs0000 发表于 2020-10-22 16:56:44

还有没有要挑战一下自己的,没有我就结贴咯

hrp 发表于 2020-10-22 17:40:32

本帖最后由 hrp 于 2020-10-22 17:46 编辑

rmins =
cmaxs =

res =
print(res)

遭了,发现不对

疾风怪盗 发表于 2020-10-22 17:55:42

hrp 发表于 2020-10-22 17:40
遭了,发现不对

对的啊,我写了这么多,也就是为了矩阵倒置,zip(*)就可以搞定
学习到了zip()的用法

hrp 发表于 2020-10-22 17:58:13

疾风怪盗 发表于 2020-10-22 17:55
对的啊,我写了这么多,也就是为了矩阵倒置,zip(*)就可以搞定
学习到了zip()的用法

我脑子有点蒙,也不知道对不对{:10_250:}
zip可以比较方便把按行分组变成按列分组

疾风怪盗 发表于 2020-10-22 18:03:06

hrp 发表于 2020-10-22 17:58
我脑子有点蒙,也不知道对不对
zip可以比较方便把按行分组变成按列分组

运行下来是对的,拆开来打印看了下,也对的
zip()这个函数以前用不多,今天学到的了新知识{:10_256:}
页: [1]
查看完整版本: 矩阵中的幸运数