Heim > Backend-Entwicklung > PHP-Tutorial > Crawler-Protokollordner

Crawler-Protokollordner

WBOY
Freigeben: 2024-07-18 10:20:06
Original
506 Leute haben es durchsucht

1598. Crawler-Protokollordner

Einfach

Das Leetcode-Dateisystem führt jedes Mal ein Protokoll, wenn ein Benutzer einen Ordner ändern-Vorgang ausführt.

Die Vorgänge werden unten beschrieben:

  • „../“: In den übergeordneten Ordner des aktuellen Ordners verschieben. (Wenn Sie sich bereits im Hauptordner befinden, bleiben Sie im selben Ordner).
  • „./“: Im selben Ordner bleiben.
  • „x/“: In den untergeordneten Ordner mit dem Namen x verschieben (dieser Ordner ist garantiert immer vorhanden).

Sie erhalten eine Liste mit Zeichenfolgenprotokollen, wobei logs[i] der vom Benutzer im itenSchritt ausgeführte Vorgang ist.

Das Dateisystem startet im Hauptordner, dann werden die Vorgänge in Protokollen ausgeführt.

Gib die Mindestanzahl an Vorgängen zurück, die erforderlich sind, um nach den Vorgängen zum Ändern des Ordners zum Hauptordner zurückzukehren.

Beispiel 1:

Crawler Log Folder

  • Eingabe: logs = ["d1/","d2/","../","d21/","./"]
  • Ausgabe: 2
  • Erklärung:Verwenden Sie diesen Vorgang zum Ändern des Ordners „../“ zweimal und kehren Sie zum Hauptordner zurück.

Beispiel 2:

Crawler Log Folder

  • Eingabe: logs = ["d1/","d2/","./","d3/","../","d31/"]
  • Ausgabe: 3

Beispiel 3:

  • Eingabe: logs = ["d1/","../","../","../"]
  • Ausgabe: 0

Einschränkungen:

  • 1 <= logs.length <= 103
  • 2 <= logs[i].length <= 10
  • logs[i] enthält englische Kleinbuchstaben, Ziffern, „.“ und „/“.
  • logs[i] folgt dem in der Anweisung beschriebenen Format.
  • Ordnernamen bestehen aus englischen Kleinbuchstaben und Ziffern.

Lösung:

class Solution {

    /**
     * @param String[] $logs
     * @return Integer
     */
    function minOperations($logs) {
        $depth = 0;

        foreach ($logs as $log) {
            if ($log == "../") {
                if ($depth > 0) {
                    $depth--;
                }
            } elseif ($log != "./") {
                $depth++;
            }
        }

        return $depth;
    }
}




Kontaktlinks

  • LinkedIn
  • GitHub

Das obige ist der detaillierte Inhalt vonCrawler-Protokollordner. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage