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