#刷题交流# Day 1 打卡:让豆包直接给我答案,这个变量名起的一言难尽。。。让我想起 JetBrains 调研他们的用户对于品牌名被叫“丁日”的感受![[微笑]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_1.7d9f699.png)
def solution(n: int) -> list:
ans = []
for i in range(5 * n):
sb = []
if i < n:
sb.extend(['.' for k in range(n - i)])
sb.extend(['*' for k in range(5 * n - 2 * (n - i))])
sb.extend(['.' for k in range(n - i)])
ans.append(''.join(sb))
elif i <= (5 * n) // 2:
sb.extend(['*' for k in range(n)])
if 0 <= i - n < n:
sb.extend(['O' for k in range(5 * n - 2 * n)])
else:
sb.extend(['O' for k in range(n)])
sb.extend(['.' for k in range(n)])
sb.extend(['O' for k in range(n)])
sb.extend(['*' for k in range(n)])
ans.append(''.join(sb))
l = len(ans) - 1
if n % 2 == 1:
l -= 1
else:
l -= 2
while l >= 0:
ans.append(ans[l])
l -= 1
return ans
![[微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_1.7d9f699.png)
def solution(n: int) -> list:
ans = []
for i in range(5 * n):
sb = []
if i < n:
sb.extend(['.' for k in range(n - i)])
sb.extend(['*' for k in range(5 * n - 2 * (n - i))])
sb.extend(['.' for k in range(n - i)])
ans.append(''.join(sb))
elif i <= (5 * n) // 2:
sb.extend(['*' for k in range(n)])
if 0 <= i - n < n:
sb.extend(['O' for k in range(5 * n - 2 * n)])
else:
sb.extend(['O' for k in range(n)])
sb.extend(['.' for k in range(n)])
sb.extend(['O' for k in range(n)])
sb.extend(['*' for k in range(n)])
ans.append(''.join(sb))
l = len(ans) - 1
if n % 2 == 1:
l -= 1
else:
l -= 2
while l >= 0:
ans.append(ans[l])
l -= 1
return ans
展开
评论
1