排序 字串統計

2021-10-07 00:07:49 字數 2304 閱讀 8711

輸入乙個字串,對字元中的各個英文本元,數字,空格進行統計(可反覆呼叫)

按照統計個數由多到少輸出統計結果,如果統計的個數相同,則按照asii碼由小到大排序輸出

呼叫者會保證:

輸入的字串以『\0』結尾。

1、輸入

2、建立字典

3、遍歷輸入字串

3.1 用字典的鍵 判斷 及 計數

4、按鍵排序->按值排序

5、『』.join() 生成輸出的字串

import sys

while

true

:try

:#sin=raw_input()

sin = sys.stdin.readline(

).strip(

)if sin:

dic=

for s in sin:

if s.isdigit(

)or s.isalpha(

)or s==

" ":

if s in dic.keys(

):

dic[s]+=1

else

: dic[s]=1

d1=sorted

(dic.items(

), key=

lambda x: x[0]

) d2=

sorted

(d1,key=

lambda y: y[1]

, reverse=

true

)#sorted(sorted(dic.iterms(), key=lambda x: x[0]), key=lambda y: y[1], reverse=true)

dout=

''.join(k for

(k,v)

in d2)

""" dout=''

for i in d2:

dout+=i[0]

"""print

(dout)

else

:break

except

:break

1、輸入

1、sin=

raw_input

()

2、

import sys

sin=sys.stdin.readline(

).strip(

)

2、

d.keys()

d.items(

)

3、生成輸出的字串

1、dout=『』

for i in d2:

dout+=2[

0]

2、dout=

''.join(k for

(k,_)

in d2)

#include

#include

intmain()

;int max=0;

for(

int i=

0;i<

strlen

(str)

;i++)}

while

(max)

} max--;}

printf

("\n");

}return0;

}

#include

#include

#include

#include

using

namespace std;

#define maxsize 65535

typedef

struct

node;

void

bubblesort

(node a,

int length)}}

}int

main()

else

j++;if

(j == length)}}

bubblesort

(number,length)

;for

(int i =

0;i < length;i++

) cout<.key;

cout<}//system("pause");

return0;

}

統計字串

題目 計算字串中字母 數字 其他字元的個數。datas segment buf db 80 len db string db 80 dup 32 crlf db 13,10,displ db the amount of letters is 13,10,dispd db the amount of ...

字串統計

演算法訓練 字串統計 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且...

字串統計

time memory limit 1000 ms 32768 k submitted 2163 accepted 973 對於給定的乙個字串 長度小於1000 統計其中大小寫字母字元出現的次數。輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串...