现有字符串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()