1598. 文件夹操作日志搜集器 - 力扣(LeetCode)



可以使用一个计数器 depth 来模拟文件夹的深度变化:
"../"让depth减少 1(如果depth > 0)。"./"不改变depth。"x/"让depth增加 1。
最终 depth 值就是返回主文件夹所需的最小步数。代码实现如下:
def minOperations(logs):
depth = 0
for log in logs:
if log == "../":
depth = max(0, depth - 1)
elif log != "./":
depth += 1
return depth
复杂度分析:
- 时间复杂度:O(n),其中
n是logs的长度,需要遍历一遍日志列表。 - 空间复杂度:O(1),仅使用了一个整型变量
depth。
示例:
print(minOperations(["d1/", "d2/", "../", "d21/", "./"])) # 输出 2
print(minOperations(["../", "../", "./"])) # 输出 0
这样可以高效地计算出返回主文件夹所需的最小步数。
178

被折叠的 条评论
为什么被折叠?



