鱼C论坛

 找回密码
 立即注册
查看: 4683|回复: 57

[已解决]Python:每日一题 356

[复制链接]
发表于 2020-3-22 14:31:15 | 显示全部楼层
本帖最后由 mdphd 于 2020-3-22 14:34 编辑
  1. a = [[1,2,3,4],
  2.      [5,1,2,3],
  3.      [9,5,1,2],
  4.     ]
  5. def f356(a):
  6.     if len(a) <= len(a[0]):
  7.         b = a
  8.     else:
  9.         def transformMatrix(m):
  10.             r = [[] for i in m[0]]
  11.             
  12.             for ele in m:
  13.                 for i in range(len(ele)):
  14.                     r[i].append(ele[i])
  15.             return r
  16.         b = transformMatrix(a)
  17.     M, N = len(b), len(b[0])
  18.     c = 1
  19.     for i in range(1, M - 1):
  20.         for j in range(1, i + 1):
  21.             if b[M - 1 - j][i - j] != b[M - 1][i]:               
  22.                 c = 0
  23.                 break
  24.         if c == 0:
  25.             print("False")
  26.             break
  27.     if c == 1:
  28.         for i in range(M - 1, N):
  29.             for j in range(1, M):
  30.                 if b[M -1 -j][i - j] != b[M - 1][i]:
  31.                     c = 0
  32.                     break
  33.             if c == 0:
  34.                 print("False")
  35.                 break
  36.     if c == 1:
  37.         for i in range(1, M - 1):
  38.             for j in range(1, M - i):
  39.                 if b[M - 1 - i - j][N - 1 - j] != b[M - 1 - i][N - 1]:
  40.                     c = 0
  41.                     break
  42.             if c == 0:
  43.                 print("False")
  44.                 break
  45.     if c == 1:
  46.         print("True")
  47. f356(a)     
复制代码

没仔细想,这个方法很差,前面的大佬确实厉害!

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-24 03:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表