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

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

题目来源:

https://leetcode.com/problems/unique-email-addresses/

 
自我感觉难度/真实难度:easy/easy
 
题意:
 
分析:

熟悉使用string的相关操作即可

 
自己的代码:
class Solution(object):    def numUniqueEmails(self, emails):        """        :type emails: List[str]        :rtype: int        """        res=[]        for string in emails:            A=string.split('@')            B=A[0].split('+')            B[0]=B[0].replace('.','')            res.append('"'+B[0]+'@'+A[1]+'"')        resl=list(set(res))        resul=' and '.join(resl)        print(resul)        return len(resl)

 

代码效率/结果:

Runtime: 60 ms, faster than 58.66% of Python online submissions for Unique Email Addresses.

 
优秀代码:
class Solution(object):    def numUniqueEmails(self, emails):        """        :type emails: List[str]        :rtype: int        """        seen = set()        for email in emails:            local,domain = email.split('@')            if '+' in local:                local = local[:local.index('+')]            seen.add(local.replace('.','')+'@'+domain)        return len(seen)

 

代码效率/结果:
 
自己优化后的代码:
 
反思改进策略:

1.a,b=string.split('@',1)  #切好的五花肉,可以分别放进两个不同的盒子里

2.去除list中重复元素,可以 list(set( A))

3.集合添加元素使用add

 

转载于:https://www.cnblogs.com/captain-dl/p/10268931.html

你可能感兴趣的文章
linux系统的安装
查看>>
Java设计模式菜鸟系列(十三)建模和实现状态模式
查看>>
《Hadoop》对于高级编程Hadoop实现构建企业级安全解决方案
查看>>
android ndk通过遍历和删除文件
查看>>
Notification(一个)——使用演示样本的基础知识
查看>>
《算法导论》为什么经典
查看>>
windows如何能在“运行”框输入名称就启动相应的软件
查看>>
修复反编译资源文件及批量修复程序源码
查看>>
CODEVS 1217 借教室
查看>>
VM ware 安装时候的一些坑和解决办法
查看>>
【原】最长上升子序列——动态规划
查看>>
26. Remove Duplicates from Sorted Array
查看>>
使用weak property声明Outlet
查看>>
RN开发-Navigator
查看>>
innodb二进制文件相关的参数
查看>>
前谷歌高管给初入职场新人的14条忠告
查看>>
01-html介绍和head标签
查看>>
Python之Linux下的 virtualenv
查看>>
ASP.NET Web开发框架之三 报表开发
查看>>
大家好
查看>>