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
matlab鳥群算法求解車間調度問題詳解及實現(xiàn)源碼
這篇文章主要為大家介紹了matlab鳥群算法求解車間調度的問題分析及實現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02
在Visual Studio Code中使用CSSComb格式化CSS文件的教程
這篇文章主要介紹了在Visual Studio Code中使用CSSComb格式化CSS文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
C++實現(xiàn)LeetCode(146.近最少使用頁面置換緩存器)
這篇文章主要介紹了C++實現(xiàn)LeetCode(146.近最少使用頁面置換緩存器),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07

