LeetCode解题 Day27

929. Unique Email Addresses

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


题目解释

每个email的都包含一个local namedomain name,两者由@符号分隔。

email中的domain name常常会看到'.'符号;若'.'符号出现在local name,email寄到的local name仍会忽略掉'.'符号。

'+'符号出现在local name的话,local name第一个加号後面的任何东西都会省略掉。

现在有个emails阵列储存一堆准备发信的email地址,请回传题目发送给emails阵列的所有地址中,最後有几个email收到信件

example

https://i.imgur.com/1XdUi9s.png


解法

这题按照题目叙述写出程序码就好

一开始先由@的前後区分local namedomain name

再来就是看哪些local name是相同的,所以先保留local name'+'符号前的地址,再忽略掉剩余的地址中所有'.'符号

最後留下的local name + @ + domain name就是目的地了

程序码

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

<<:  # Day 18 Physical Memory Model (三)

>>:  卡夫卡的藏书阁【Book13】- KafkaJS 生产者 1

虹语岚访仲夏夜-13(专业的小四篇)

看过的故事有好多 有的很悲 有的很爱 但对於自己 像是吃的午饭 又吐了一半 在这战场 还是不太习惯...

JS读书笔记30天 - Day26 Bootstrap的Class设定3

表单 一般input、textarea、select(包含多重选择) 结构 最外层:Class中加上...

电子书阅读器上的浏览器 [Day12] 桌面模式

目前的 E-ink 设备,6寸,7.8寸,一直到 10 寸,13 寸都有,除了6 寸有点太小,其他尺...

Day 8 [Python ML、特徵工程] 基准模型(Baseline Model)

前言 今天开始是新的章节,因此也有新的资料集 Kickstarter Projects 在开始之前要...

[ Day 23 ] Redux 中的核心概念

上一篇 Day 22 我们已经了解了何谓 Redux 以及该套件的三大原则,今天就要来为大家介绍在...