軟件項(xiàng)目管理名詞解釋seo矩陣培訓(xùn)
題目描述
每個(gè) 有效電子郵件地址 都由一個(gè) 本地名 和一個(gè) 域名 組成,以 ‘@’ 符號(hào)分隔。除小寫字母之外,電子郵件地址還可以含有一個(gè)或多個(gè) ‘.’ 或 ‘+’ 。
例如,在 alice@leetcode.com中, alice 是 本地名 ,而 leetcode.com 是 域名 。
如果在電子郵件地址的 本地名 部分中的某些字符之間添加句點(diǎn)(‘.’),則發(fā)往那里的郵件將會(huì)轉(zhuǎn)發(fā)到本地名中沒有點(diǎn)的同一地址。請(qǐng)注意,此規(guī)則 不適用于域名 。
例如,"alice.z@leetcode.com” 和 “alicez@leetcode.com” 會(huì)轉(zhuǎn)發(fā)到同一電子郵件地址。
如果在 本地名 中添加加號(hào)(‘+’),則會(huì)忽略第一個(gè)加號(hào)后面的所有內(nèi)容。這允許過(guò)濾某些電子郵件。同樣,此規(guī)則 不適用于域名 。
例如 m.y+name@email.com 將轉(zhuǎn)發(fā)到 my@email.com。
可以同時(shí)使用這兩個(gè)規(guī)則。
給你一個(gè)字符串?dāng)?shù)組 emails,我們會(huì)向每個(gè) emails[i] 發(fā)送一封電子郵件。返回實(shí)際收到郵件的不同地址數(shù)目。
示例 1:
輸入:emails = [“test.email+alex@leetcode.com”,“test.e.mail+bob.cathy@leetcode.com”,“testemail+david@lee.tcode.com”]
輸出:2
解釋:實(shí)際收到郵件的是 “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();}
};