现有字符串char[] text,实现函数char[] drawChar(char[] text),找出text中重复出现最多的字符,然后将该字符移到text的最前端,生成一个新的字符串。 假设重复出现最多的字符只有一个。请充分考虑内存和性能效率。 举例: “abcaba”,转换后成为“aaabcb”。
现有字符串char[] text,实现函数char[] drawChar(char[] text),找出text中重复出现最多的字符,然后将该字符移到text的最前端,生成一个新的字符串。 假设重复出现最多的字符只有一个。请充分考虑内存和性能效率。 举例: “abcaba”,转换后成为“aaabcb”。
输入原始的字符串,如 "abcaba"
输入处理后的字符串,如 "aaabcb"
abcaba
aaabcb
# -*- coding: utf-8 -*-
import sys
import string
def chartranslate():
string0 = sys.stdin.readline()#输入
list1=[]
for i in string0:
if i != '\n':
list1.append(i)#转换成列表
list2=list(set(list1))#转换成集合 (去重)
count1=[]
for j in list2:#将集合中的元素在输入数据中的个数存到count
n=list1.count(j)
count1.append(n)
m=count1.index(max(count1))#求count集合中最大值的索引
list3=[]
list4=[]
for k in list1:
if list2[m]==k:
list3.append(k)#输入字符串最多的重复元素
else:
list4.append(k)#其他元素
list5=list3+list4
list6=''.join(list5)
print list6
# print(str1)
if __name__=='__main__':
chartranslate()