小紅書 筆試題(20190903)

2021-09-26 20:10:16 字數 4060 閱讀 5410

設定標誌位flag判斷是否進入注釋部分,注釋的開始和取消來自於棧comment的實現。

def

backup_note

(seq)

: res =

comment =

flag =

false

for su in seq:

ifnot flag:

if su.islower():

elif su ==

'<'

:if res:

res.pop(

)elif su ==

'(':

flag =

true

else

:if su ==

'(':

elif su ==

')':

comment.pop()if

not comment:

flag =

false

return res

if __name__ ==

'__main__'

: seq =

list

(input()

.strip())

res = backup_note(seq)

print(''

.join(res)

)

採用層次遍歷,向外發散,逐層淹過。筆試的時候是通過額外的self.all集合來進行篩選的,最終結果是54%(超時)。想了想,可以設定為其他符號避免再次訪問即可。

from collections import deque

class

solution

:def

__init__

(self)

: self.res =

self.matrix =

none

self.t_row =

none

self.t_col =

none

defexplore_game

(self, seq, n)

:if self.matrix is

none

: self.matrix = seq

sr, sc = self.find_start(n)

self.t_row, self.t_col = self.find_end(n)

return self.moving(sr, sc, n)

deffind_start

(self, n)

:for row in

range

(n):

for col in

range

(n):

if self.matrix[row]

[col]

=='s'

:return row, col

deffind_end

(self, n)

:for row in

range

(n):

for col in

range

(n):

if self.matrix[row]

[col]

=='e'

:return row, col

defmoving

(self, row, col, n)

: visited = deque()[

(row, col)])

count =

0while visited:

current = visited.pop(

) values =

set(

)for cu in current:

r, c = cu[0]

, cu[1]

if r == self.t_row and c == self.t_col:

return count

if self.matrix[

(r+1

)%n]

[c]in

'.e'

: values.add(

((r+1)

%n, c)

) self.matrix[

(r +1)

% n]

[c]=

'*'if self.matrix[

(r-1

)%n]

[c]in

'.e'

: values.add(

((r-1)

%n, c)

) self.matrix[

(r -1)

% n]

[c]=

'*'if self.matrix[r]

[(c+1)

%n]in

'.e'

: values.add(

(r,(c+1)

%n))

self.matrix[r]

[(c +1)

% n]

='*'

if self.matrix[r]

[(c-1)

%n]in

'.e'

: values.add(

(r,(c-1)

%n))

self.matrix[r]

[(c -1)

% n]

='*'

list

(values)

) count +=

1return-1

if __name__ ==

'__main__'

: n =

int(

input()

.strip())

seq =

for _ in

range

(n):

[iu for iu in

input()

.strip()]

) st = solution(

)print

(st.explore_game(seq, n)

)

建立元組列表依次追加輸入寶物的稀有度和實用度組成的元組,通過集合化排除相同的寶物干擾,按照第乙個元素即稀有度排序,之後的問題便是乙個最長遞增子串行lis問題了。最終結果是64%(超時)。

from bisect import bisect

defprofit

(seq):if

not seq:

return

0 seq =

list

(set

(seq)

) seq.sort(

)

values =

[su[1]

for su in seq]

end =

for val in values:

idx = bisect(end, val)

if idx ==

len(end)

:else

: end[idx]

= val

return

len(end)

if __name__ ==

'__main__'

: n =

int(

input()

.strip())

seq =

for _ in

range

(n):

tuple

(map

(int

,input()

.strip(

).split())

))res = profit(seq)

print

(res)

(最近更新:2023年09月03日)

小紅書9 3筆試

1.題目描述 薯隊長寫了一篇筆記草稿,請你幫忙輸出最後內容。輸入字元包括英文本元,和 英文本元表示筆記內容。之間表示注釋內容,任何字元都無效。括號保證成對出現。表示退格,刪去前面乙個筆記內容字元。括號不受 影響 輸入輸入一行字串。長度 10000.輸出輸出一行字串,表示最終的筆記內容。樣例輸入 a ...

小紅書0906筆試

題目 輸入終點x 輸入每天最小航速l,最大航速t和資料組數n 然後有n個數字,每個數字代表座標位置處是危險區域 求到達終點最少停留在危險區域的次數 例如 輸入 102 3 4 5 4 2 3 輸出1 還沒驗證過。include include include include include usin...

牛客小紅書資料分析筆試題1 19

1 分析方法 漏斗分析 展現出各個階段的轉化率,通過漏斗各環節相關資料的比較,能夠直觀地發現和說明問題所在,從而找到優化方向。a b 測試 同乙個目標制定兩個方案,讓一部分使用者使用 a 方案,另一部分使用者使用 b 方案,記錄下使用者的使用情況,看哪個方案更符合設計。內外因分析法 申論答題思路,內...