軟件項目管理名詞解釋seo矩陣培訓(xùn)
題目描述
每個 有效電子郵件地址 都由一個 本地名 和一個 域名 組成,以 ‘@’ 符號分隔。除小寫字母之外,電子郵件地址還可以含有一個或多個 ‘.’ 或 ‘+’ 。
例如,在 alice@leetcode.com中, alice 是 本地名 ,而 leetcode.com 是 域名 。
如果在電子郵件地址的 本地名 部分中的某些字符之間添加句點(‘.’),則發(fā)往那里的郵件將會轉(zhuǎn)發(fā)到本地名中沒有點的同一地址。請注意,此規(guī)則 不適用于域名 。
例如,"alice.z@leetcode.com” 和 “alicez@leetcode.com” 會轉(zhuǎn)發(fā)到同一電子郵件地址。
如果在 本地名 中添加加號(‘+’),則會忽略第一個加號后面的所有內(nèi)容。這允許過濾某些電子郵件。同樣,此規(guī)則 不適用于域名 。
例如 m.y+name@email.com 將轉(zhuǎn)發(fā)到 my@email.com。
可以同時使用這兩個規(guī)則。
給你一個字符串?dāng)?shù)組 emails,我們會向每個 emails[i] 發(fā)送一封電子郵件。返回實際收到郵件的不同地址數(shù)目。
示例 1:
輸入:emails = [“test.email+alex@leetcode.com”,“test.e.mail+bob.cathy@leetcode.com”,“testemail+david@lee.tcode.com”]
輸出:2
解釋:實際收到郵件的是 “testemail@leetcode.com” 和 “testemail@lee.tcode.com”。
示例 2:
輸入:emails = [“a@leetcode.com”,“b@leetcode.com”,“c@leetcode.com”]
輸出:3
class Solution {
public:int numUniqueEmails(vector<string>& emails) {int l = emails.size();set<string> m;for(int i=0;i<l;i++){string ss = emails[i];int index = ss.find("@");string name = "";string s1 = ss.substr(0,index);string mail = ss.substr(index+1);for(int j=0;j<s1.length(); j++){if(s1[j] == '.'){s1 = s1.replace(j,1,"");}}int index2 = s1.find("+");name = s1.substr(0,index2); // ignore +string sss = name + " " + mail;m.insert(sss);}// map<string, string>::reverse_iterator iter;// for(iter = m.rbegin(); iter != m.rend(); iter++){// cout<<iter->first<<" "<<iter->second<<endl;// }return m.size();}
};