Class Solution

java.lang.Object
g0901_1000.s0929_unique_email_addresses.Solution

public class Solution extends Object
929 - Unique Email Addresses.<p>Easy</p> <p>Every <strong>valid email</strong> consists of a <strong>local name</strong> and a <strong>domain name</strong> , separated by the <code>'@'</code> sign. Besides lowercase letters, the email may contain one or more <code>'.'</code> or <code>'+'</code>.</p> <ul> <li>For example, in <code>&quot;[email protected]&quot;</code>, <code>&quot;alice&quot;</code> is the <strong>local name</strong> , and <code>&quot;leetcode.com&quot;</code> is the <strong>domain name</strong>.</li> </ul> <p>If you add periods <code>'.'</code> between some characters in the <strong>local name</strong> part of an email address, mail sent there will be forwarded to the same address without dots in the local name. Note that this rule <strong>does not apply</strong> to <strong>domain names</strong>.</p> <ul> <li>For example, <code>&quot;[email protected]&quot;</code> and <code>&quot;[email protected]&quot;</code> forward to the same email address.</li> </ul> <p>If you add a plus <code>'+'</code> in the <strong>local name</strong> , everything after the first plus sign <strong>will be ignored</strong>. This allows certain emails to be filtered. Note that this rule <strong>does not apply</strong> to <strong>domain names</strong>.</p> <ul> <li>For example, <code>&quot;[email protected]&quot;</code> will be forwarded to <code>&quot;[email protected]&quot;</code>.</li> </ul> <p>It is possible to use both of these rules at the same time.</p> <p>Given an array of strings <code>emails</code> where we send one email to each <code>emails[i]</code>, return <em>the number of different addresses that actually receive mails</em>.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> emails = [&ldquo;[email protected]&rdquo;,&ldquo;[email protected]&rdquo;,&ldquo;[email protected]&rdquo;]</p> <p><strong>Output:</strong> 2</p> <p><strong>Explanation:</strong> &ldquo;[email protected]&rdquo; and &ldquo;[email protected]&rdquo; actually receive mails.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> emails = [&ldquo;[email protected]&rdquo;,&ldquo;[email protected]&rdquo;,&ldquo;[email protected]&rdquo;]</p> <p><strong>Output:</strong> 3</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= emails.length <= 100</code></li> <li><code>1 <= emails[i].length <= 100</code></li> <li><code>emails[i]</code> consist of lowercase English letters, <code>'+'</code>, <code>'.'</code> and <code>'@'</code>.</li> <li>Each <code>emails[i]</code> contains exactly one <code>'@'</code> character.</li> <li>All local and domain names are non-empty.</li> <li>Local names do not start with a <code>'+'</code> character.</li> <li>Domain names end with the <code>&quot;.com&quot;</code> suffix.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • numUniqueEmails

      public int numUniqueEmails(String[] emails)