作者JerryChungYC (JerryChung)
看板Marginalman
标题Re: [闲聊] 每日leetcode
时间Sun Nov 24 02:32:42 2024
※ 引述《Rushia (早瀬ユウカの体操服 )》之铭言:
: https://leetcode.com/problems/rotating-the-box/description/
: 1861. Rotating the Box
: 给你一个字元阵列表示一个箱子
: # 表示石头
: * 表示地板
: . 表示空气
: 求出我们把箱子往右翻转90度之後石头的分布状况,如果石头下面是空气会往下掉。
: 思路:
石头就塞到 temp
空气就塞到 answer
地板就把 temp 的石头塞到 answer 再加上 石头 清空 temp
做完就是答案了
可以先每行开一个 result 最後再 map zip
或是直接边判断边塞进 answer
就放成绩最好的解吧 不过其实都差不多就是了
Python Code:
class Solution:
def rotateTheBox(self, box: List[List[str]]) -> List[List[str]]:
answer = [] # 或直接 [[] for _ in range(len(box[0]))]
for b in range(-1, -len(box)-1, -1): # 转90度 底部变在左边
n = 0
temp = []
for i in box[b]:
if b == -1: # 上面用[]的话 在循环一开始塞[]
answer.append([]) # 否则省略
if i == '.':
answer[n].append(i)
n += 1
elif i == '#':
temp.append(i)
else:
for t in temp: # 塞石头
answer[n].append(t)
n += 1
answer[n].append(i) # 加入地板
n += 1
temp = []
else:
for t in temp: # 循环完temp还有东西的话要记得塞
answer[n].append(t)
n += 1
return answer
话说11月漏4天了 重新来过罗 好耶 呵呵 呜呜 哇哇哇
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.45.55.250 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Marginalman/M.1732386765.A.014.html