388 檔案的最長絕對路徑

2021-10-02 00:14:56 字數 1299 閱讀 7139

難度:中等

題目描述:

思路總結:題解一用到了棧,存當前目錄的所有層級的名字,然後每次遇到檔案型別計算當前最長的路徑。具體步驟都在注釋中寫的很詳細。有時間可以做一下不用棧的方法,不過當前的核心任務還是理解並使用棧。

題解一:

class

solution

:def

lengthlongestpath

(self,

input

:str)-

>

int:

#梳理一下思路:我們為每個目錄/檔案新增乙個對應的\t數,然後遍歷每個d/f,如果是檔案,就計算當前最長和歷史最長。(長度計算方法就是計算我們當前棧的大小)

defcal_len

(stack)

: s = stack.copy(

) length =

0while s:

t = s.pop(

) length +=

len(t[0]

)+1#每個目錄和檔案加乙個/

return length-

1#減掉最後的乙個/

stack =

paths =

input

.split(

'\n'

) tmp =

for s in paths:

num = s.count(

'\t'

)(s[num:

], num)

) max_len =

0for t in tmp:

#先把棧頂的所有\t個數比當前大的彈出,也就是目錄更深的彈出,回到當前所在目錄

while stack and stack[-1

][1]

>= t[1]

:#這裡stack[-1]相當於stack.top()

stack.pop()if

'.'in t[0]

: max_len =

max(max_len, cal_len(stack)

)return max_len

題解一結果:

檔案絕對路徑獲取

yourclass.class.getclassloader getresource threadpoolconfig.xml getpath 通過上述方法獲取到的一般是指定檔案的絕對路徑 並且該檔案必須存放在src目錄下 存在的問題 如果絕對路徑中存在空格,getpath取到的值是經過urlenc...

檢視檔案絕對 路徑 認識「路徑」

在我們的日常實際工作中,經常會需要在網頁中插入影象等外部檔案,此時就需要採用 路徑 的方式來指定檔案的位置。路徑可以分為 絕對路徑和相對路徑。絕對路徑 絕對路徑是包括伺服器規範在內的完全路徑。絕對路徑不管原始檔在什麼位置都可以非常精確的找到,除非是目標文件的位置發生變化,否則連線不會失敗。優點 缺點...

絕對路徑 相對路徑 檔案讀寫路徑

一 絕對路徑 能完整描述檔案在磁碟上的位置 1 完整的磁碟路徑 f test a.txt 存在於f盤test資料夾下的a.txt檔案 2 完整的url路徑 也是乙個絕對路徑,網域名稱會指向磁碟的乙個目錄 原博二 相對路徑 首先要確定乙個路徑參考點,其他檔案都是相對於當前檔案位置來確定的。在檔案路徑拓...