子網域名稱訪問計數

2021-09-10 03:58:20 字數 1601 閱讀 5271

乙個**網域名稱,如"discuss.leetcode.com",包含了多個子網域名稱。作為頂級網域名稱,常用的有"com",下一級則有"leetcode.com",最低的一級為"discuss.leetcode.com"。當我們訪問網域名稱"discuss.leetcode.com"時,也同時訪問了其父網域名稱"leetcode.com"以及頂級網域名稱 "com"。

接下來會給出一組訪問次數和網域名稱組合的列表cpdomains。要求解析出所有網域名稱的訪問次數,輸出格式和輸入格式相同,不限定先後順序。

示例 1:輸入:["9001 discuss.leetcode.com"]輸出:["9001 discuss.leetcode.com", "9001 leetcode.com", "9001 com"]說明:
示例 2

輸入:["900 google.mail.com", "50 yahoo.com", "1 intel.mail.com", "5 wiki.org"]輸出:["901 mail.com","50 yahoo.com","900 google.mail.com","5 wiki.org","5 org","1 intel.mail.com","951 com"]說明:按照假設,會訪問"google.mail.com" 900次,"yahoo.com" 50次,"intel.mail.com" 1次,"wiki.org" 5次。

而對於父網域名稱,會訪問"mail.com" 900+1 = 901次,"com" 900 + 50 + 1 = 951次,和 "org" 5 次。

注意事項:看到這道題我首先想到的就是拿map來儲存網域名稱位址和出現的次數。首先,題目給的是乙個string型別的陣列,我們肯定是要乙個乙個遍歷過去記錄資料的。每乙個string型別的字串都分為訪問次數和網域名稱兩部分,我們可以用spilt將他們分開,得到網域名稱和訪問次數。得到網域名稱之後,最重要的就是把網域名稱劃分為多個子網域名稱。網域名稱是由字母和「.」組成的,根據這個特點,我們可以將網域名稱一點一點的拆分。拆分網域名稱之前,我們要先了解乙個函式,根據這個函式的特點,我們可以先找到「.」出現的位置,那麼從下乙個字母開始,一直到結束,就是乙個子網域名稱,以此類推,直到訪問到最後乙個「.」為止,就找到了該網域名稱所有的子網域名稱,但是一定要記得在找到乙個子網域名稱後,如果該子網域名稱被記錄過,就要把之前記錄的訪問次數和現在的訪問次數都算上。**如下:

811 子網域名稱訪問計數

乙個 網域名稱,如 discuss.leetcode.com 包含了多個子網域名稱。作為頂級網域名稱,常用的有 com 下一級則有 leetcode.com 最低的一級為 discuss.leetcode.com 當我們訪問網域名稱 discuss.leetcode.com 時,也同時訪問了其父網域...

811 子網域名稱訪問計數

乙個 網域名稱,如 discuss.leetcode.com 包含了多個子網域名稱。作為頂級網域名稱,常用的有 com 下一級則有 leetcode.com 最低的一級為 discuss.leetcode.com 當我們訪問網域名稱 discuss.leetcode.com 時,也同時訪問了其父網域...

187 子網域名稱訪問計數

題目描述 乙個 網域名稱,如 discuss.leetcode.com 包含了多個子網域名稱。作為頂級網域名稱,常用的有 com 下一級則有 leetcode.com 最低的一級為 discuss.leetcode.com 當我們訪問網域名稱 discuss.leetcode.com 時,也同時訪問...