Java?C++題解leetcode1598文件夾操作日志搜集器
更新時間:2022年09月29日 16:06:13 作者:AnjaVon
這篇文章主要為大家介紹了Java?C++題解leetcode1598文件夾操作日志搜集器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
題目要求


思路:模擬
- 根據(jù)日志判斷目前在哪一級子文件夾即可,級數(shù)就等于返回時的步數(shù),主文件夾級數(shù)初始為000:
xl:級數(shù)+1+1+1;./:級數(shù)不變;../:級數(shù)−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("./")) // 向下進(jìn)入
res++;
}
return res;
}
}
- 時間復(fù)雜度:O(n)
- 空間復(fù)雜度: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 != "./") // 向下進(jìn)入
res++;
}
return res;
}
};
- 時間復(fù)雜度:O(n)
- 空間復(fù)雜度: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 != "./" { // 向下進(jìn)入
res += 1;
}
res
})
}
}
- 時間復(fù)雜度:O(n)
- 空間復(fù)雜度:O(1)
總結(jié)
超級簡單模擬題【水了一篇】,不要考慮怎么回去,直接看怎么去的計算就可以了【又是逆向思維……】。
以上就是Java C++題解leetcode1598文件夾操作日志搜集器的詳細(xì)內(nèi)容,更多關(guān)于Java C++ 文件夾操作日志搜集器的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Visual Studio 2019 DLL動態(tài)庫連接實例(圖文教程)
這篇文章主要介紹了Visual Studio 2019 DLL動態(tài)庫連接實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
VC程序設(shè)計中CreateProcess用法注意事項
這篇文章主要介紹了VC程序設(shè)計中CreateProcess用法注意事項,需要的朋友可以參考下2014-07-07
C++?OpenCV實現(xiàn)之實現(xiàn)紅綠燈識別
本文以實現(xiàn)行車過程當(dāng)中的紅綠燈識別為目標(biāo),核心的內(nèi)容包括:OpenCV輪廓識別原理以及OpenCV紅綠燈識別的實現(xiàn)具體步驟,感興趣的可以了解一下2022-08-08
Java C++算法題解leetcode1592重新排列單詞間的空格
這篇文章主要為大家介紹了Java C++算法題解leetcode1592重新排列單詞間的空格示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

