鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: zltzlt

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

[复制链接]
 楼主| 发表于 2020-1-4 20:05:11 | 显示全部楼层
Stubborn 发表于 2020-1-4 19:54
之前在做过一个找矩形的题目,本质上,从矩形变成正方形,也没差,所以不再额外改代码了

出错:TypeError: sequence item 0: expected str instance, int found
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-10 02:51:07 | 显示全部楼层
def c(x,y,n):
    for k in range (n):
        for l in range (n):
            if a[x+k][y+l]==0:
                return 0
    else: return n

def f299(a):
    b=[]
    for i in range(len(a)):
        for j in range(len(a[0])):
            if a[i][j]==0:
                b.append(0)
            else:
                n=1
                while n<=min(len(a)-i,len(a[0])-j) and c(i,j,n):
                    n=n+1
                b.append(n-1)              
    return max(b)**2
a=[
  [1, 0, 1, 0, 0],
  [1, 0, 1, 1, 1],
  [1, 1, 1, 1, 1],
  [1, 0, 1, 1, 1]]

print(f299(a))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-10 16:49:48 | 显示全部楼层
  1. def fun299(matrix):
  2.     def square_check(matrix,x,y):
  3.         for n in range(max(x,y),min(len(matrix[0]),len(matrix)))[::-1]:
  4.             temp= []
  5.             for i in range(x,n+1)[::-1]:
  6.                 for j in range(y,n+1)[::-1]:
  7.                     temp.append(matrix[i][j])
  8.             if 0 not in temp:
  9.                 return (n-x)**2
  10.         return 1
  11.     result = 1
  12.     for i in range(len(matrix)):
  13.         for j in range(len(matrix[0])):
  14.             if square_check(matrix,i,j) > result:
  15.                 result = square_check(matrix,i,j)
  16.     return result
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 12:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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