博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
929. Unique Email Addresses
阅读量:6950 次
发布时间:2019-06-27

本文共 1456 字,大约阅读时间需要 4 分钟。

class Solution:    def numUniqueEmails(self, emails: 'List[str]') -> 'int':        accept = []        for email in emails:            local = email.split('@')[0]            domain = email.split('@')[1]            if '+' in local:                local = local.split('+')[0]            if '.' in local:                local = local.replace('.','')            result = local+domain            if result not in accept:                accept.append(result)        return len(accept)

 其中:速度76ms,内存12.7M

 优化一:使用set直接去重复,使用''.join()进行字符拼接

class Solution:    def numUniqueEmails(self, emails: 'List[str]') -> 'int':        accept = set()        for email in emails:            local,domain = email.split('@')            local = ''.join(local.split('+')[0].split('.'))            result = local + '@' +domain            accept.add(result)        return len(accept)

  速度:48ms,内存12.6M

优化二:使用map映射的方式,不用手动申请内存,可能map函数自动申请了内存,所以内存没有降下来。

class Solution:    def numUniqueEmails(self, emails: 'List[str]') -> 'int':        def processone(email):            i = email.find('@')            j = email.find('+')            if j < i and j>0:                return ''.join(email[:j].split('.')) + email[i:]            elif j == 0:                return email[i:]            else:                return ''.join(email[:i].split('.')) + email[i:]                return len(set(map(processone,emails)))

  速度:44ms,内存12.5M

 

转载于:https://www.cnblogs.com/accumulationbystep/p/10410891.html

你可能感兴趣的文章
Linux培训大纲
查看>>
X3-02 gprs 设置
查看>>
列出对像属性,for(var i in obj)[转]
查看>>
Js(DOM) 和Jq 对象的相互转换
查看>>
HDUOJ3980取模运算
查看>>
20165318 2017-2018-2 《Java程序设计》第九周学习总结
查看>>
mysql 数据库备份的多种方式
查看>>
2-范数、1-范数、···
查看>>
C#闭包函数
查看>>
浅谈vr基础视频教程 改变技术革命
查看>>
c++调用DOS命令,不显示黑屏
查看>>
python虚拟环境
查看>>
ls -l 各项含义
查看>>
Helios与Katana的区别
查看>>
python从数据库取数据后写入excel 使用pandas.ExcelWriter设置单元格格式
查看>>
Android JPush(极光推送)的使用教程
查看>>
奇异值分解(SVD)小结
查看>>
MYSQL数据库设计规范
查看>>
python之socket编程
查看>>
Delphi在Vasta/win 7下通过UAC控制
查看>>