位元組跳動筆試 2019 10(部分)

2022-08-24 22:57:10 字數 1658 閱讀 9413

1、位元組跳動水龍頭接水問題,至少需要多少時間

2、位元組跳動,找出最長配對括號字串,可能有多個:比如(a)())(),它輸出['(a)()()','(a())()']

import copy

s = input()

l = 0

start = ''

for i in range(len(s)):

if s[i] == "(":

l = i

break

elif s[i] == ")":

continue

else:

start += s[i]

s = s[l:]

length = len(s)

arr = [[copy.deepcopy([' ',0]) for i in range(length)] for j in range(length)]

arr[0][0] = ['(',1]

for i in range(1,length):

if s[i] != '(' and s[i] != ')':

t = copy.copy(arr[0][i - 1])

t[0] += s[i]

arr[0][i] = t

arr[i][0] = ['(',1]

else:

t = copy.copy(arr[0][i - 1])

arr[0][i] = t

arr[i][0] = ['(',1]

for i in range(1,length):

for j in range(1,length):

if s[j] == '(':

arr[i][j][0] = arr[i-1][j-1][0]+'('

arr[i][j][1] = arr[i-1][j-1][1] + 1

elif s[j] == ')':

if arr[i-1][j-1][1] > 0:

arr[i][j][0] = arr[i - 1][j - 1][0] + ')'

arr[i][j][1] = arr[i - 1][j - 1][1] - 1

else:

arr[i][j][0] = arr[i - 1][j - 1][0]

arr[i][j][1] = arr[i - 1][j - 1][1]

else:

arr[i][j][0] = arr[i - 1][j - 1][0] + s[i]

arr[i][j][1] = arr[i - 1][j - 1][1]

res = set()

for i in range(length-1,-1,-1):

res.add(start+arr[length-1][i][0])

res.add(start + arr[i][length - 1][0])

print(res)

3、位元組,成績變排名。成績對應位置變成排名,前三名變成金銀銅。

li = ['金','銀','銅']+[str(i) for i in range(4,len(arr)+1)]

for i in range(len(arr)):

index = dic[i][1]

arr[index]=li[i]

print(arr)

"""

位元組跳動筆試題

要求 輸入陣列長度,然後輸入陣列中的各個元素,最後輸入整數k,要求找出陣列中三個元素小於k的三個元素,例如 輸入陣列長度 6 輸入陣列元素 2 0 1 2 3 6 輸出三元組 共4個 下面給出思路和 思路 1 獲得使用者輸入的陣列長度n,若n不為整數,則提示錯誤。2 建立陣列。3 獲得使用者輸入的陣...

位元組跳動筆試面試經歷

一面是一位和藹的中年程式設計師。1.高階函式 一步一步引導我說出思路!最後面試結束後我查了乙個是乙個js術語。面試官對我說 因為你們學校學習和工作之間是有差距的,所以不會直接問你知識,我會給你一些線索看看你的思路 這個問題大概答出了大半題,大概是這樣。2.筆試經歷 讓我驚訝的是面試官還願意聽聽我筆試...

《位元組跳動》筆試第二題

題目 輸入 第一行輸入乙個數n,表示下邊有幾行。接下來輸入n行,每一行格式為1,2 3,4 5,6.輸出 將重疊部分進行合併的結果,按從小到大輸出。例如 python實現 import sys if name main n input q for i in range n line sys.stdi...