<jupyter_start><jupyter_text>说明：    每当用户执行变更文件夹操作时，LeetCode 文件系统都会保存一条日志记录。    下面给出对变更操作的说明：        1、"../" ：移动到当前文件夹的父文件夹。如果已经在主文件夹下，则 继续停留在当前文件夹 。        2、"./" ：继续停留在当前文件夹。        3、"x/" ：移动到名为 x 的子文件夹中。题目数据 保证总是存在文件夹 x 。    给你一个字符串列表 logs ，其中 logs[i] 是用户在 ith 步执行的操作。    文件系统启动时位于主文件夹，然后执行 logs 中的操作。    执行完所有变更文件夹操作后，请你找出 返回主文件夹所需的最小步数 。示例 1：    输入：logs = ["d1/","d2/","../","d21/","./"]    输出：2    解释：执行 "../" 操作变更文件夹 2 次，即可回到主文件夹示例 2：    输入：logs = ["d1/","d2/","./","d3/","../","d31/"]    输出：3示例 3：    输入：logs = ["d1/","../","../","../"]    输出：0提示：    1、1 <= logs.length <= 103    2、2 <= logs[i].length <= 10    3、logs[i] 包含小写英文字母，数字，'.' 和 '/'    4、logs[i] 符合语句中描述的格式    5、文件夹名称由小写英文字母和数字组成<jupyter_code>class Solution:
    def minOperations(self, logs) -> int:
        count = []
        for log in logs:
            if log != '../' and log != './':
                count.append(log)
            elif log == '../' and count:
                count.pop()
            else:
                continue
        return len(count)
solution = Solution()
solution.minOperations(["d1/","d2/","./","d3/","../","d31/"])<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.2152230971128609, 'fraction_numerical': 0.03237095363079615, 'mean_word_length': 2.2779369627507164, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '482318', 'license': 'Apache-2.0', 'n_tokens_mistral': 626, 'n_tokens_neox': 666, 'n_words': 85, 'path': 'Stack/1027/1598. Crawler Log Folder.ipynb', 'repo_name': 'YuHe0108/Leetcode', 'size': '1143'}