Day5 牛客 字串歸一化

2021-09-16 19:57:31 字數 1189 閱讀 9424

本題目來自快手2023年秋招演算法a卷。

通過鍵盤輸入一串小寫字母(a~z)組成的字串。

請編寫乙個字串歸一化程式,統計字串中相同字元出現的次數,並按字典序輸出字元及其出現次數。

例如字串"babcc"歸一化後為"a1b2c2"

遍歷字串,將字元與出現的個數存在乙個dict裡面,然後再結合建立的dict的長度 和存放26個字母的s字串去做比較,從小到大依次輸出。演算法思想較為簡單,但感覺空間複雜度有點高啊,新開闢了dict,字母表s 和存放字串的stra

import sys

try:

dicta={}

s='abcdefghijklmnopqrstuvwxyz'

line = sys.stdin.readline().strip()

if line=='':

print('')

for i in range(len(line)):

if line[i] in dicta:

dicta[line[i]]=dicta[line[i]]+1

else:

dicta[line[i]]=1

k=26

j=len(dicta)

i=0stra=''

while k and j:

if s[i] in dicta:

stra=stra+s[i]+str(dicta[s[i]])

j-=1

k-=1

i+=1

print(stra)

except:

pass

通過了!!!

然後嘗試將報錯的測試樣例放入本地,執行:

在本地執行通過,,,,

總結:一定要記得輸出

牛客 2019快手 字串歸一化

題目描述 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串歸一化程式,統計字串中相同字元出現的次數,並按字典序輸出字元及其出現次數。例如字串 babcc 歸一化後為 a1b2c2 輸入描述 每個測試用例每行為乙個字串,以 n 結尾,例如cccddecca 輸出描述 輸出壓縮後的字串ac5...

字串歸一化

輸入 字元陣列 輸出 字元陣列 轉換規則 單詞 非空格字元認為是單詞構成 間保留乙個空格,最開始和最結尾的地方不保留空格,奇數個單詞首字母大寫,其他小寫。要求 時間複雜度o n 空間複雜度o 1 即char原地轉換。舉例 輸入 i am a good student 輸出 i am a good s...

day5 字串 函式

字串 1.單引號,雙引號,三引號括起來的都是字串 索引 從0開始 str 0 遍歷 for迴圈 判斷字串中是否都是數字 字母 返回bool型 string.isdecimal string.isalpha 字串替換 缺省會全部替換 string.replace old,new,次數 字串查詢 str...