[简单题]Counting Duplicates( Python 实现)

来源:互联网 发布:j2ee服务器端高级编程 编辑:程序博客网 时间:2024/06/06 13:02

题目:

原题目链接

解法一:用时:100ms

def duplicate_count(text):    text = text.lower()    aa = [0] * len(set(text))    i = 0    for s in set(text):        for a in text:            if a == s:                aa[i] += 1        i += 1    return len(aa) - aa.count(1)

解法二:(网上大佬思路)用时:114ms

def duplicate_count(s):  return len([c for c in set(s.lower()) if s.lower().count(c)>1])

其实Python没什么好看时间的,都差不多的慢emmm

仔细分析这两种思路:

第一种,也就是我写的那个:

先确定好所有可能字符的集合,然后再对这个字符串进行寻找然后计数

再用总数减去是1的个数


第二种思路:

对于每一个在集合中的字符,如果是计数大于1的就放到新列表中。然后算这个列表的的数目。


原创粉丝点击