(母音の文字列を反転させる、独自の電子メールアドレス、バイナリ合計)ボタントピックの要約滞在

独自の電子メールアドレス

1.タイトル説明

  1. ローカル名とドメイン名で各電子メールは、@記号で区切ります。

    例えば、では[email protected]ミドル、aliceそれがローカル名とあるleetcode.comドメイン名。

    小文字に加えて、これらのメールも含まれていてもよいです'.''+'

    以下の場合は、電子メールアドレスのローカル名(特定の文字部との間にピリオドを追加するために'.'、それを電子メールアドレスに送信されます)、ノーポイントに同じローカル名に転送されます。例えば、"[email protected]そして[email protected]それは、同じメールアドレスに転送されます。(このルールは、ドメイン名には適用されないことに注意してください。)

    場合はローカル名を追加プラス記号(された'+')、プラス記号の後の最初のすべてが無視されます。これは、次のような、いくつかの電子メールのフィルタを可能[email protected]に転送されます[email protected](ここでも、このルールは、ドメイン名には適用されません。)

    あなたは、同時にこれら2つのルールを使用することができます。

    電子メールのリストを考えるとemails、私たちは、それぞれのアドレスリストに電子メールをお送りします。どのくらいの実際の異なるアドレスがメールを受信するには?

    例:

    输入:["[email protected]","[email protected]","[email protected]"]
    输出:2
    解释:实际收到邮件的是 "[email protected]" 和 "[email protected]"。

    2.問題解決のアイデア

#根据题意走删除没必要的东西,组成新的列表,最后用集合去重返回长度

3.問題解決

class Solution:
    def numUniqueEmails(self, emails: List[str]) -> int:
        res = set()      
        for email in emails:
            head, tail = email.split('@')
            head = head.split('+')[0]
            head = head.replace('.', '')
            res.add(head+"@"+tail)
        return len(res)

バイナリ合計

1.タイトル説明

2つのバイナリ文字列を考えると、その(バイナリで表される)に戻ります。

入力されている非空の文字列と数字だけが含まれています10

例1:

输入: a = "11", b = "1"
输出: "100"

例2:

输入: a = "1010", b = "1011"
输出: "10101"

2.問題解決のアイデア

先变成二进制进行加再把返回值中的0b去掉

3.問題解決

class Solution:
    def addBinary(self, a: str, b: str) -> str:
        return bin(int(a,2)+int(b,2))[2:]
        

リバース文字列母音

1つのタイトル説明

文字列内の母音を反転入力として文字列に書き込む機能。

例1:

输入: "hello"
输出: "holle"

例2:

输入: "leetcode"
输出: "leotcede"

説明:
母音が「Y」の文字が含まれていません。

2.問題解決のアイデア

关键在你与有大写和小写,而且题意这样出他的元音字母肯定是偶数个

3.問題解決

class Solution:
    def reverseVowels(self, s: str) -> str:
        l1 = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
        i, j = 0, len(s)-1
        s = list(s)
        while i < j:
            if s[i] in l1 and s[j] in l1:
                s[i], s[j] = s[j], s[i]
                i += 1
                j -= 1
            if s[i] not in l1 or s[j] not in l1:
                if s[j] not in l1:
                    j -= 1
                if s[i] not in l1:
                    i += 1
        return ''.join(s)

`有更加好的思路,或者解题方法评论区留言谢谢

おすすめ

転載: www.cnblogs.com/pythonywy/p/10964082.html