2018-08-29 算法- 子域名訪問計數(shù)-思路記錄

題目鏈接如下
https://leetcode-cn.com/problems/subdomain-visit-count/description/


一個網(wǎng)站域名倚评,如"discuss.leetcode.com"天梧,包含了多個子域名霞丧。作為頂級域名蛹尝,常用的有"com"后豫,下一級則有"leetcode.com",最低的一級為"discuss.leetcode.com"陨收。當我們訪問域名"discuss.leetcode.com"時饭豹,也同時訪問了其父域名"leetcode.com"以及頂級域名 "com"。
給定一個帶訪問次數(shù)和域名的組合务漩,要求分別計算每個域名被訪問的次數(shù)拄衰。其格式為訪問次數(shù)+空格+地址,例如:"9001 discuss.leetcode.com"饵骨。
接下來會給出一組訪問次數(shù)和域名組合的列表cpdomains 翘悉。要求解析出所有域名的訪問次數(shù),輸出格式和輸入格式相同居触,不限定先后順序妖混。

示例 1:
輸入: 
["9001 discuss.leetcode.com"]
輸出: 
["9001 discuss.leetcode.com", "9001 leetcode.com", "9001 com"]
說明: 
例子中僅包含一個網(wǎng)站域名:"discuss.leetcode.com"。按照前文假設(shè)轮洋,子域名"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"]
說明: 
按照假設(shè)弊予,會訪問"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渡八。
每個域名地址包含一個或兩個"."符號啃洋。
輸入中任意一個域名的訪問次數(shù)都小于10000

解法如下

先上代碼:

//swift版本
class Solution {
    func subdomainVisits(_ cpdomains: [String]) -> [String] {
     var domains: Dictionary<String, String> = [:]
        var domainArray: [(String, [String])] = []
        for domainString in cpdomains {

            var domain: [String] = []
            domain = domainString.components(separatedBy: " ")
            if domain.count == 2 {
                let t = domain[1].components(separatedBy: ".")
                var dms: [String] = []
                var fd: String = ""
                for string in t.reversed() {
                    if fd == "" {
                        fd = string
                    }
                    else {
                        fd =  string + "." + fd

                    }
                    dms.append(fd)
                }
                domainArray.append((domain[0], dms))
            }
        }
        
        for element in domainArray {
             //element ["1" ,["mail.com", "com"]]
            for domain in element.1 {  //domain ["mail.com", "com"]
                if domains[domain] == nil {
                    domains[domain] = element.0
                }
                else {
                    domains[domain] = "\(Int(domains[domain]!)! + Int(element.0)!)"
                }
            }
        }
        
        
        var res: [String] = []
        for (domain, time) in domains {
            res.append((time + " " + domain))
        }
        return res
    }
    
}

大致思路:
1.先將請求次數(shù)和域名的這個字符串分離成兩個字符串,各自存放請求次數(shù)和域名(按空格" "區(qū)分)
2屎鳍。再將得到的域名字符串按"."倒序遍歷分割成域名和子域名宏娄,并放入數(shù)組A,和對應(yīng)的請求次數(shù)組成元組類型放入數(shù)組B逮壁,遍歷B孵坚,并放入字典C(此處偷懶了,用了字典??窥淆,key就是域名卖宠,value就是請求次數(shù))在字典C中可以通過相同的key來對請求次數(shù)相加,最后輸出忧饭。

如果有更好的思路扛伍,歡迎留言。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末词裤,一起剝皮案震驚了整個濱河市刺洒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吼砂,老刑警劉巖逆航,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渔肩,居然都是意外死亡因俐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門周偎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抹剩,“玉大人,你說我怎么就攤上這事蓉坎“赏茫” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵袍嬉,是天一觀的道長。 經(jīng)常有香客問我,道長伺通,這世上最難降的妖魔是什么箍土? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮罐监,結(jié)果婚禮上吴藻,老公的妹妹穿的比我還像新娘。我一直安慰自己弓柱,他們只是感情好沟堡,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著矢空,像睡著了一般航罗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屁药,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天粥血,我揣著相機與錄音,去河邊找鬼酿箭。 笑死复亏,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的缭嫡。 我是一名探鬼主播缔御,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妇蛀!你這毒婦竟也來了耕突?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤讥耗,失蹤者是張志新(化名)和其女友劉穎有勾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體古程,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡蔼卡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了挣磨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雇逞。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖茁裙,靈堂內(nèi)的尸體忽然破棺而出塘砸,到底是詐尸還是另有隱情,我是刑警寧澤晤锥,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布掉蔬,位于F島的核電站廊宪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏女轿。R本人自食惡果不足惜箭启,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛉迹。 院中可真熱鬧傅寡,春花似錦、人聲如沸北救。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽珍策。三九已至托启,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膛壹,已是汗流浹背驾中。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留模聋,地道東北人肩民。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像链方,于是被迫代替她去往敵國和親持痰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容