騰訊後台筆試題解壓

2021-10-04 15:02:32 字數 1217 閱讀 3922

小q想要給他的朋友傳送乙個神秘字串,但是他發現字串的過於長了,於是小q發明了一種壓縮演算法對字串中重複的部分進行了壓縮,對於字串中連續的m個相同字串s將會壓縮為m|s,例如字串abcabcabc將會被壓縮為[3|abc],現在小q的同學收到了小q傳送過來的字串,你能幫助他進行解壓縮麼?

輸入描述:

輸入第一行包含乙個字串s,代表壓縮後的字串。

s的長度<=1000;

s僅包含大寫字母、[、]、|;

解壓後的字串長度不超過100000;

壓縮遞迴層數不超過10層;

輸出描述:

輸出乙個字串,代表解壓後的字串。

示例1輸入

hg[3|b[2|ca]]f

輸出hgbcacabcacabcacaf

說明hg[3|b[2|ca]]f−>hg[3|bcaca]f−>hgbcacabcacabcacaf

def

jieya

(string)

:#r代表從左側開始第乙個右括號的位置,l代表與當前有括號對應的左括號的位置,k是生成次數

r=0while

(r<

len(string)):

if string[r]

==']'

: k=

0 l=r

while string[l]

!='['

:if string[l]

=='|'

: k=l

l=l-

1 num=

int(string[l+

1:k]

) s1=string[k+

1:r]

s2=''for j in

range

(num)

: s2=s2+s1

string=string.replace(string[l:r+1]

,s2)

r=lr=r+

1return string

if __name__ ==

'__main__'

: string=

input()

shuchu=jieya(string)

print

(shuchu)

騰訊筆試題解

1,把整數分成256m段,每段可以用64位整數儲存該段資料個數,256m 8 2g記憶體,先清0 2,讀10g整數,把整數對映到256m段中,增加相應段的記數 3,掃瞄256m段的記數,找到中位數的段和中位數的段前面所有段的記數,可以把其他段的記憶體釋放 4,因中位數段的可能整數取值已經比較小 如果...

騰訊筆試題

一.單選題 每題4 分,15題,共60分 1.考慮函式原型void hello int a,int b 7,char pszc 下面的函式呼叫鐘,屬於不合法呼叫的是 a hello 5 b.hello 5,8 c.hello 6,d.hello 0,0,2.下面有關過載函式的說法中正確的是 a.過載...

騰訊筆試題

1 請定義乙個巨集,比較兩個數a b的大小,不能使用大於 小於 if語句 2 如何輸出原始檔的標題和目前執行行的行數 3 兩個數相乘,小數點後位數沒有限制,請寫乙個高精度演算法 4 寫乙個病毒 5 有a b c d 四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手...