크롤러 로그 폴더

WBOY
풀어 주다: 2024-07-18 10:20:06
원래의
476명이 탐색했습니다.

1598. 크롤러 로그 폴더

쉬움

Leetcode 파일 시스템은 일부 사용자가 폴더 변경 작업을 수행할 때마다 로그를 유지합니다.

작업 설명은 다음과 같습니다.

  • "../" : 현재 폴더의 상위 폴더로 이동합니다. (이미 메인 폴더에 있다면 같은 폴더에 남아).
  • "./" : 같은 폴더에 남아있습니다.
  • "x/" : x라는 하위 폴더로 이동합니다(이 폴더는 항상 존재함).

log[i]가 i번째 단계에서 사용자가 수행한 작업인 문자열 로그 목록이 제공됩니다.

파일 시스템은 기본 폴더에서 시작된 다음 로그의 작업이 수행됩니다.

반환폴더 변경 작업 후 기본 폴더로 돌아가는 데 필요한 최소 작업 횟수.

예 1:

Crawler Log Folder

  • 입력: 로그 = ["d1/","d2/","../","d21/","./"]
  • 출력: 2
  • 설명: 이 폴더 변경 작업 "../"을 2번 사용하고 기본 폴더로 돌아갑니다.

예 2:

Crawler Log Folder

  • 입력: 로그 = ["d1/","d2/","./","d3/","../","d31/"]
  • 출력: 3

예 3:

  • 입력: 로그 = ["d1/","../","../","../"]
  • 출력: 0

제약조건:

  • 1 <= 로그.길이 <= 103
  • 2 <= 로그[i].length <= 10
  • 로그[i]에는 영문 소문자, 숫자, '.', '/'가 포함됩니다.
  • 로그[i]는 명령문에 설명된 형식을 따릅니다.
  • 폴더 이름은 영문 소문자와 숫자로 구성됩니다.

해결책:

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;
    }
}




연락처 링크

  • 링크드인
  • 깃허브

위 내용은 크롤러 로그 폴더의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿