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