面試題 01 06 字串壓縮

2021-10-10 22:42:44 字數 882 閱讀 4823

題目描述:字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若「壓縮」後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母(a至z)。

解題思路:依次統計相同字元出現的次數即可

class

solution

:def

sortstring

(self, s:

str)

->

str:

alpha_map =[0

]*26for c in s:

index =

ord(c)

-ord

('a'

) alpha_map[index]+=1

res =

'' size =

len(s)

while

(len

(res)

< size)

:for i in

range(26

):if alpha_map[i]

: res +=

chr(i+97)

alpha_map[i]-=1

iflen

(res)

< size:

for i in

range(25

,-1,

-1):

if alpha_map[i]

: res +=

chr(i+97)

alpha_map[i]-=1

return res

面試題 01 06 字串壓縮

字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a3 示例2 字串長度在...

面試題 01 06 字串壓縮

字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a3 遍歷一次字串 時間...

面試題 01 06 字串壓縮

題目 字串壓縮。利用字元重複出現的次數,編寫一種方法,實現基本的字串壓縮功能。比如,字串aabcccccaaa會變為a2b1c5a3。若 壓縮 後的字串沒有變短,則返回原先的字串。你可以假設字串中只包含大小寫英文本母 a至z 示例1 輸入 aabcccccaaa 輸出 a2b1c5a3 示例2 輸入...