388. Longest Absolute File Path:很巧妙的答案笛钝,把"\t"做為當(dāng)前深度,然后計算當(dāng)前深度的前綴長度=上一個深度+文件名長度+1
class Solution(object):
def lengthLongestPath(self, input):
"""
:type input: str
:rtype: int
"""
maxlen = 0
pathlen = {0: 0}
for line in input.split("\n"):
name = line.lstrip('\t')
depth = len(line) - len(name)
if '.' in name:
maxlen = max(maxlen, pathlen[depth] + len(name))
else:
pathlen[depth + 1] = pathlen[depth] + len(name) + 1
return maxlen
390. Elimination Game: 這種題目,直接暴力求解的話TLE了祸轮,不過這樣的題目,除了多做幾遍,把答案背下來暖呕,真不知道怎么去理解:https://leetcode.com/problems/elimination-game/#/discuss 基本的想法是維護(hù)左邊的head的值,從左朝右的時候苞氮,head = head + step 從右朝左的時候湾揽,如果l % 2 == 1也就是奇數(shù),也就是能刪掉當(dāng)前的head笼吟,那么就是head = head + step库物。
392. Is Subsequence: 難一點的在于followup問題,可以用binary search 和trie來做
393. UTF-8 Validation:這題基本思路是會的贷帮,只是寫法有點問題戚揭,太繁瑣,再重寫一遍
394. Decode String: 雖然磕磕絆絆的撵枢,也算是用stack做出來了吧
395. Longest Substring with At Least K Repeating Characters: 想了半天的前向型雙指針民晒,后來發(fā)現(xiàn)不對精居。只要簡單的遞歸就可以了
396. Rotate Function: 又是一道沒想出來的,感覺思路接近了潜必,就是沒想出來
397. Integer Replacement: 又是一題不會做靴姿,今天狀態(tài)又變差了嗎?
class Solution(object):
def integerReplacement(self, n):
"""
:type n: int
:rtype: int
"""
rtn = 0
while n > 1:
rtn += 1
if n % 2 == 0:
n //= 2
elif n % 4 == 1 or n == 3:
n -= 1
else:
n += 1
return rtn
398. Random Pick Index: 又一道神奇的Reservoir Sampling磁滚。
399. Evaluate Division:創(chuàng)建一個帶權(quán)重的有向圖佛吓,但是狀態(tài)不好,今天不想做了垂攘,先標(biāo)記下來维雇,明天再做吧。