Java C++题解leetcode1598文件夹操作日志搜集器
更新时间:2022年09月29日 16:06:13 作者:AnjaVon
这篇文章主要为大家介绍了Java C++题解leetcode1598文件夹操作日志搜集器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
题目要求
思路:模拟
- 根据日志判断目前在哪一级子文件夹即可,级数就等于返回时的步数,主文件夹级数初始为000:
xl
:级数+1+1+1;./
:级数不变;../
:级数−1-1−1。
Java
class Solution { public int minOperations(String[] logs) { int res = 0; for (String l : logs) { if (l.equals("../")) // 返回父级 res = Math.max(0, res - 1); else if (!l.equals("./")) // 向下进入 res++; } return res; } }
- 时间复杂度:O(n)
- 空间复杂度:O(1)
C++
class Solution { public: int minOperations(vector<string>& logs) { int res = 0; for (auto & l : logs) { if (l == "../") // 返回父级 res = max(0, res - 1); else if (l != "./") // 向下进入 res++; } return res; } };
- 时间复杂度:O(n)
- 空间复杂度:O(1)
Rust
impl Solution { pub fn min_operations(logs: Vec<String>) -> i32 { logs.into_iter().fold(0, |mut res, l| { if l == "../" { // 返回父级 if res > 0 { res -= 1; } } else if l != "./" { // 向下进入 res += 1; } res }) } }
- 时间复杂度:O(n)
- 空间复杂度:O(1)
总结
超级简单模拟题【水了一篇】,不要考虑怎么回去,直接看怎么去的计算就可以了【又是逆向思维……】。
以上就是Java C++题解leetcode1598文件夹操作日志搜集器的详细内容,更多关于Java C++ 文件夹操作日志搜集器的资料请关注脚本之家其它相关文章!
相关文章
C语言fgetc和fputc函数用法详解(以字符形式读写文件)
这篇文章主要介绍了C语言fgetc和fputc函数用法详解(以字符形式读写文件),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-01-01在Visual Studio Code中使用CSSComb格式化CSS文件的教程
这篇文章主要介绍了在Visual Studio Code中使用CSSComb格式化CSS文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-03-03C++实现LeetCode(146.近最少使用页面置换缓存器)
这篇文章主要介绍了C++实现LeetCode(146.近最少使用页面置换缓存器),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-07-07
最新评论