摘要:題目鏈接題目分析題目要求過(guò)濾重復(fù)的郵箱地址。最終返回不重復(fù)的用戶(hù)名個(gè)數(shù)。域名部分則不進(jìn)行處理。替換為空字符串。下標(biāo)為用戶(hù)名部分,下標(biāo)為域名部分刪去后面的所有字符。最后,用包住以上代碼,在外面初始化數(shù)組,用去重,再該數(shù)組就完成了。
929. Unique Email Addresses 題目鏈接
929. Unique Email Addresses
題目分析題目要求過(guò)濾重復(fù)的郵箱地址。最終返回不重復(fù)的用戶(hù)名個(gè)數(shù)。
過(guò)濾規(guī)則是:郵箱名中的.要被忽略,且+后面的所有字符都要?jiǎng)h去。域名部分則不進(jìn)行處理。
輸入是一個(gè)數(shù)組,那么我們用foreach就可以了。
對(duì)于數(shù)組中的每一個(gè)元素,進(jìn)行如下處理:
先以@為分隔符拆分郵箱地址為用戶(hù)名部分和域名部分。
$emailStruct = explode("@", $email);
替換.為空字符串。
$username = str_replace($emailStruct[0],".",""); //下標(biāo)0為用戶(hù)名部分,下標(biāo)1為域名部分
刪去+后面的所有字符。
$usernameStruct = explode("+",$username); $username = $usernameStruct[0];
這里用的是explode方法。
當(dāng)然,也可以用str_pos獲取+的位置,再用strtr函數(shù)截取字符串。
把用戶(hù)名塞進(jìn)記錄用戶(hù)名的數(shù)組里面。
$replacedEmails[] = $username.$emailStruct[1];
至此,對(duì)每個(gè)郵箱地址就處理完成了。
最后,用foreach包住以上代碼,在foreach外面初始化$replacedEmails數(shù)組,用array_unique去重,再count該數(shù)組就完成了。
最終代碼class Solution { function numUniqueEmails($emails) { $replacedEmails = []; foreach($emails as $email){ $emailStruct = explode("@",$email); $username = str_replace($emailStruct[0],".",""); $usernameStruct = explode("+",$username); $username = $usernameStruct[0]; $replacedEmails[] = $username.$emailStruct[1]; } return count(array_unique($replacedEmails)); } }優(yōu)化方案
直接把用戶(hù)名做為數(shù)組的鍵值,可以省略去重步驟。
若覺(jué)得本文章對(duì)你有用,歡迎用愛(ài)發(fā)電資助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/30970.html
Problem Every email consists of a local name and a domain name, separated by the @ sign. For example, in alice@leetcode.com, alice is the local name, and leetcode.com is the domain name. Besides lower...
摘要:題目鏈接題目分析這個(gè)題目要求算出把給定數(shù)組中的字符串轉(zhuǎn)換成摩爾斯碼后,有多少個(gè)不同的摩爾斯碼。轉(zhuǎn)換完成后存進(jìn)數(shù)組內(nèi),再用函數(shù)排除。再排除結(jié)果即可。優(yōu)化方案直接存為數(shù)組的鍵則可以省去用去重的步驟。 804. Unique Morse Code Words 題目鏈接 804. Unique Morse Code Words 題目分析 這個(gè)題目要求算出把給定數(shù)組中的字符串轉(zhuǎn)換成摩爾斯碼后,有...
摘要:前言的第一題獨(dú)特的電子郵件地址每封電子郵件都由一個(gè)本地名稱(chēng)和一個(gè)域名組成,以符號(hào)分隔。例如,和會(huì)轉(zhuǎn)發(fā)到同一電子郵件地址。實(shí)現(xiàn)代碼獨(dú)特的電子郵件地址本地名稱(chēng)域名根據(jù)指定規(guī)則解析后的本地名稱(chēng),先按加號(hào)切割字符串,然后替換使用去重 前言 Weekly Contest 108的第一題 獨(dú)特的電子郵件地址: 每封電子郵件都由一個(gè)本地名稱(chēng)和一個(gè)域名組成,以@符號(hào)分隔。 例如,在 alice@le...
摘要:題目鏈接題目分析寫(xiě)出查找表中重復(fù)郵箱地址的語(yǔ)句。思路用把結(jié)果聚合,并用函數(shù)計(jì)算出現(xiàn)次數(shù)。用篩選出現(xiàn)次數(shù)大于的結(jié)果即可。最終代碼若覺(jué)得本文章對(duì)你有用,歡迎用愛(ài)發(fā)電資助。 D80 182. Duplicate Emails 題目鏈接 182. Duplicate Emails 題目分析 寫(xiě)出 查找表中重復(fù)郵箱地址的SQL語(yǔ)句。 思路 用GROUP BY把結(jié)果聚合,并用count函數(shù)計(jì)算出現(xiàn)...
摘要:題目鏈接題目分析返回給定的數(shù)組中是否有元素重復(fù)出現(xiàn)。思路用和即可最終代碼若覺(jué)得本文章對(duì)你有用,歡迎用愛(ài)發(fā)電資助。 D90 217. Contains Duplicate 題目鏈接 217. Contains Duplicate 題目分析 返回給定的數(shù)組中是否有元素重復(fù)出現(xiàn)。 思路 用count和array_unique即可 最終代碼
閱讀 2044·2021-11-25 09:43
閱讀 718·2021-10-11 10:58
閱讀 1816·2019-08-30 15:55
閱讀 1793·2019-08-30 13:13
閱讀 801·2019-08-29 17:01
閱讀 1905·2019-08-29 15:30
閱讀 908·2019-08-29 13:49
閱讀 2235·2019-08-29 12:13