亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Leet Code OJ 388. Longest Absolute File Path [Difficulty: Medium]

2019-11-11 06:27:50
字體:
來源:轉載
供稿:網友

題目

Suppose we abstract our file system by a string in the following manner:

The string “dir/n/tsubdir1/n/tsubdir2/n/t/tfile.ext” rePResents:

dir subdir1 subdir2 file.ext

The directory dir contains an empty sub-directory subdir1 and a sub-directory subdir2 containing a file file.ext.

The string “dir/n/tsubdir1/n/t/tfile1.ext/n/t/tsubsubdir1/n/tsubdir2/n/t/tsubsubdir2/n/t/t/tfile2.ext” represents:

dir subdir1 file1.ext subsubdir1 subdir2 subsubdir2 file2.ext

The directory dir contains two sub-directories subdir1 and subdir2. subdir1 contains a file file1.ext and an empty second-level sub-directory subsubdir1. subdir2 contains a second-level sub-directory subsubdir2 containing a file file2.ext.

We are interested in finding the longest (number of characters) absolute path to a file within our file system. For example, in the second example above, the longest absolute path is “dir/subdir2/subsubdir2/file2.ext”, and its length is 32 (not including the double quotes).

Given a string representing the file system in the above format, return the length of the longest absolute path to file in the abstracted file system. If there is no file in the system, return 0.

Note: The name of a file contains at least a . and an extension. The name of a directory or sub-directory will not contain a .. Time complexity required: O(n) where n is the size of the input string.

Notice that a/aa/aaa/file1.txt is not the longest file path, if there is another path aaaaaaaaaaaaaaaaaaaaa/sth.png.

翻譯

假定我們使用下面的方式來抽象文件系統: 字符串”dir/n/tsubdir1/n/tsubdir2/n/t/tfile.ext” 代表:

dir subdir1 subdir2 file.ext

目錄dir包含一個空的子文件夾subdir1和一個包含一個文件file.ext的子文件夾subdir2。 字符串”dir/n/tsubdir1/n/t/tfile1.ext/n/t/tsubsubdir1/n/tsubdir2/n/t/tsubsubdir2/n/t/t/tfile2.ext” 代表:

dir subdir1 file1.ext subsubdir1 subdir2 subsubdir2 file2.ext

找出這個文件系統中文件的最長路徑,并返回它的路徑長度。 例如上述第二個例子的最長路徑是”dir/subdir2/subsubdir2/file2.ext”,那么它的長度是32,包含“/”。 提示: 1. 一個文件名應該至少包含一個”.”號和一個后綴名。 2. 文件夾則一定不包含”.”號。 3. 時間復雜度需要: O(n)。 4. 跟目錄的層級無關。例如如果有一個路徑是“aaaaaaaaaaaaaaaaaaaaa/sth.png”,那“a/aa/aaa/file1.txt”就不是最長的路徑。

分析

首先,需要有個變量記錄當前文件名的長度,和最大的長度maxLen。當切換到另外一個子目錄的時候,為了能計算出當前長度,還需要保存它的父級目錄的長度,所以我采用了棧結構來保存每一級目錄的名稱長度,并且使用depth來記錄當前是第幾個層級。 其次,需要考慮’/n’和’/t’代表的含義。其中’/n’代表本次路徑已經結束,可以開始計算結果并清空相關計數器。其中’/t’的個數代表當前是第幾個層級。 最后,考慮到題目只統計最長的文件路徑,而不統計最長的文件夾路徑,所以加個isFile來區分。

java版代碼(時間復雜度O(n),空間復雜度O(n)):

public class Solution { public int lengthLongestPath(String input) { input += "/n"; int count = 0; boolean isFile = false; int depth = 0; int maxLen = 0; Stack<Integer> stack = new Stack<>(); char[] charArr = input.toCharArray(); for (int i = 0; i < charArr.length; i++) { if (charArr[i] == '/n') { if (depth != 0) { count += stack.get(depth - 1) + 1; } while (stack.size() > depth) { stack.pop(); } stack.push(count); if (isFile) { if (count > maxLen) { maxLen = count; } } count = 0; depth = 0; isFile = false; } else if (charArr[i] == '/t') { depth++; } else { if (charArr[i] == '.') { isFile = true; } count++; } } return maxLen; }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91色在线| 成人av在线天堂| 在线亚洲午夜片av大片| 日韩中文字幕亚洲| 日本国产高清不卡| 26uuu另类亚洲欧美日本老年| 亚洲春色另类小说| 97久久伊人激情网| 亚洲人成绝费网站色www| 国产精品v日韩精品| 亚洲天堂免费视频| 91牛牛免费视频| 欧美裸体视频网站| 91综合免费在线| 精品一区精品二区| 综合136福利视频在线| 在线观看日韩欧美| 日韩av在线播放资源| 日本国产高清不卡| 久久精品国产v日韩v亚洲| 久久久亚洲影院你懂的| 在线日韩av观看| 国产日韩中文在线| 色爱精品视频一区| 亚洲国产精品电影| 日韩精品免费在线视频观看| 欧美激情久久久久久| 国产精品h片在线播放| 国产精品日韩欧美综合| 亚洲少妇激情视频| 亚洲天堂日韩电影| 中文字幕一区日韩电影| 亚洲成人精品久久| 欧美理论在线观看| 欧美第一淫aaasss性| 国产亚洲精品激情久久| 国产成人高潮免费观看精品| 一色桃子一区二区| 在线观看欧美www| 91沈先生作品| 亚洲一区二区三区成人在线视频精品| 在线观看中文字幕亚洲| 亚洲欧美999| 亚洲色图日韩av| 亚洲尤物视频网| 在线亚洲国产精品网| 久久国产加勒比精品无码| 欧美激情视频一区二区三区不卡| 美女撒尿一区二区三区| 亚洲日本成人网| 国产做受高潮69| 亚洲国产成人一区| 在线电影中文日韩| 日韩女优在线播放| 成人精品视频99在线观看免费| 国产精品久久久久久久久久| 久久99精品视频一区97| 国产日产亚洲精品| 亚洲a在线播放| 国产精品伦子伦免费视频| 日韩免费观看视频| 国产999精品久久久| 色中色综合影院手机版在线观看| 日韩精品在线观看视频| 在线免费看av不卡| 激情久久av一区av二区av三区| 亚洲国产精品yw在线观看| 日韩av最新在线| 久久69精品久久久久久国产越南| 久久777国产线看观看精品| 欧美一级淫片aaaaaaa视频| 成人福利网站在线观看| 一区二区三区高清国产| 日韩中文字幕在线播放| 57pao成人永久免费视频| 国产精品老女人精品视频| 欧美视频一区二区三区…| 日本一欧美一欧美一亚洲视频| 日韩免费在线观看视频| 久操成人在线视频| 国内精久久久久久久久久人| 欧美裸体男粗大视频在线观看| 欧美三级欧美成人高清www| 亚洲aa在线观看| 国产日韩在线播放| 欧美大片在线免费观看| 国产精品中文字幕在线观看| 国产精品99久久久久久白浆小说| 8050国产精品久久久久久| 国产91热爆ts人妖在线| 日本欧美国产在线| 尤物yw午夜国产精品视频明星| 久久亚洲精品视频| 亚洲视频国产视频| 97精品视频在线观看| 在线电影av不卡网址| 欧美日韩国产精品一区| 国产精品福利在线观看网址| 亚洲free性xxxx护士白浆| 精品福利视频导航| 欧美日韩福利电影| 成人激情视频在线观看| 欧美性xxxxx| 欧美日韩中文字幕在线| 欧美日韩综合视频| 亚洲精品电影网| 亚洲视频axxx| 美日韩在线视频| 欧美精品一区二区免费| 2019亚洲日韩新视频| 久久久久久欧美| 日韩国产精品一区| 91精品视频播放| 国产精品久久久久久久一区探花| 亚洲成**性毛茸茸| 亚洲品质视频自拍网| 国产精品美女午夜av| 狠狠色香婷婷久久亚洲精品| 黄色精品一区二区| 久久91亚洲精品中文字幕| 国产91精品黑色丝袜高跟鞋| 欧美日韩一区二区在线| 欧美精品www在线观看| 91免费人成网站在线观看18| 91国产视频在线| 亚洲精品久久久久中文字幕二区| 性欧美办公室18xxxxhd| 77777亚洲午夜久久多人| 亚洲精品久久久久久下一站| 欧美视频在线免费看| 亚洲天堂一区二区三区| 亚洲成人精品视频在线观看| 亚洲精品一二区| 欧美激情视频在线观看| 成人精品一区二区三区电影免费| 国产日本欧美在线观看| 欧美日韩午夜视频在线观看| 狠狠躁夜夜躁人人躁婷婷91| 国模精品一区二区三区色天香| 欧美日韩国产在线| 午夜精品久久久久久久白皮肤| 国产a级全部精品| 欧美精品www| 亚洲欧美日韩精品久久| 亚洲香蕉成视频在线观看| 欧美激情精品久久久久| 日韩免费av在线| 亚洲最大福利视频网| 国产免费一区二区三区在线能观看| 97免费在线视频| 欧美高清不卡在线| 久久精品视频在线| 中文字幕亚洲综合久久筱田步美| 亚洲国内精品在线| 影音先锋欧美在线资源| 色偷偷av一区二区三区| 国产精品无码专区在线观看| 国产一区二区三区丝袜| 国产精品热视频| 日韩精品有码在线观看| 一本一道久久a久久精品逆3p| 欧美色图在线视频| 亚洲人精选亚洲人成在线| 亚洲精品国产精品国自产在线|