|  | 
 
20鱼币 
| 说明:假设给定一个 m * n 的矩阵,如果某一个元素的值在同一行的所有元素中最小,并且在同一列的所有元素中最大,那么该元素便是幸运数字。 
 我的思路:先找同一行中最小的数,并找出其列数 "a[i]",后用此数和它的列数比较同一列中每个数,判断其是否为最大的数。若是,添加到空列表b中,最后打印b。
 
 s = [[10, 36, 52],
 [33, 24, 88],
 [66, 76, 99]]
 a = [0]*3
 minx = [0]*3
 
 for i in range(3):
 for j in range(2):
 if s[i][j] <= s[i][j+1]:
 minx[i] = s[i][j]
 a[i] = j
 if s[i][j] > s[i][j+1]:
 minx[i] = s[i][j+1]
 a[i] = j+1
 
 b = []
 for i in range(3):
 j = 0
 count = 0
 while j < 3:
 if minx[i] >= s[j][a[i]]:
 j += 1
 count +=1
 if count ==3:
 b.append(minx[i])
 print(b)
 
 
复制代码s = [[10, 36, 52],
     [33, 24, 88],
     [66, 76, 99]]
s1 = list(zip(*s))
for m in range(len(s)):
    for n in range(len(s[m])):
        if min(s[m]) == max(s1[n]):
            print(s[m][n])
 | 
 |