題目描述:
乙個**網域名稱,如"discuss.leetcode.com",包含了多個子網域名稱。作為頂級網域名稱,常用的有"com",下一級則有"leetcode.com",最低的一級為"discuss.leetcode.com"。當我們訪問網域名稱"discuss.leetcode.com"時,也同時訪問了其父網域名稱"leetcode.com"以及頂級網域名稱 「com」。
給定乙個帶訪問次數和網域名稱的組合,要求分別計算每個網域名稱被訪問的次數。其格式為訪問次數+空格+位址,例如:「9001 discuss.leetcode.com」。
接下來會給出一組訪問次數和網域名稱組合的列表cpdomains 。要求解析出所有網域名稱的訪問次數,輸出格式和輸入格式相同,不限定先後順序。
示例 1:
輸入:[「9001 discuss.leetcode.com」]
輸出:[「9001 discuss.leetcode.com」, 「9001 leetcode.com」, 「9001 com」]
說明:例子中僅包含乙個**網域名稱:「discuss.leetcode.com」。按照前文假設,子網域名稱"leetcode.com"和"com"都會被訪問,所以它們都被訪問了9001次。
示例 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 次。
注意事項:
cpdomains 的長度小於 100。
每個網域名稱的長度小於100。
每個網域名稱位址包含乙個或兩個"."符號。
輸入中任意乙個網域名稱的訪問次數都小於10000。
首先遍歷cpdomains陣列,將其次數得到,並且從後往前依次加入到map中,如果有則加入進去並且加入當前次數,否則就是time
**:效率不是很高
class solution
listtemlist = new arraylist<>();
for (string string : temmap.keyset())
return temlist;
}public static void inser(maptemmap,int time,string string)
} public static int gettimes(string s)
}
排名靠前的**
class solution
}listres = new arraylist<>();
for(map.entryentry:map.entryset())
return res;
}}
子網域名稱訪問計數
乙個 網域名稱,如 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 時,也同時訪問了其父網域...
811 子網域名稱訪問計數
乙個 網域名稱,如 discuss.leetcode.com 包含了多個子網域名稱。作為頂級網域名稱,常用的有 com 下一級則有 leetcode.com 最低的一級為 discuss.leetcode.com 當我們訪問網域名稱 discuss.leetcode.com 時,也同時訪問了其父網域...