问题:
给定一个字符串,找出里面出现次数最多的字符。
python实现1,利用字典:
1 def find_most_char(s): 2 ls=list(s) 3 ls.sort() 4 ls="".join(ls) 5 ls=list(ls) 6 counts={} 7 for c in ls: 8 if c in counts: 9 counts[c]+=1 10 else: 11 counts[c]=1 12 13 items=counts.items() 14 backitems=[[v[1],v[0]] for v in items] 15 backitems.sort() 16 17 print backitems[-1][0],backitems[-1][1] 18 if __name__=="__main__": 19 s='JFLSDJFOIWEfdjsklfewosd2378907345asss' 20 find_most_char(s) 21
python的实现2,设置标志位:
1 def find_most_char(s): 2 ls=list(s) 3 ls.sort() 4 ls="".join(ls) 5 ls=list(ls) 6 flag=0 7 for c in ls: 8 if ls.count(c)>flag: 9 flag=ls.count(c) 10 most_c=c 11 12 print flag 13 print most_c 14 15 16 if __name__=="__main__": 17 s='JFLSDJFOIWEfdjsklfewosd2378907345asss' 18 find_most_char(s) 19