Leetcode PHP題解--D36 811. Subdomain Visit Count

811. Subdomain Visit Count

題目連接

811. Subdomain Visit Countphp

題目分析

題目給定一個字符串數組,每一個字符串分兩部分,以空格分割。
第一部分爲訪問次數,第二部分爲域名。
要求按一樣的格式,分別返回頂級域名、二級域名、三級域名…的訪問次數。數組

例如,字符串"9001 discuss.leetcode.com"dom

discuss.leetcode.com算一個域名;函數

leetcode.com算另外一個;.net

com也是一個。code

所以要返回["9001 discuss.leetcode.com", "9001 leetcode.com", "9001 com"]leetcode

思路

先把域名用explode函數拆分,再按層級把訪問次數加到每一個層級去。pdo

最終代碼

<?php
class Solution {
        function subdomainVisits($cpdomains) {
        $visits = [];
        foreach($cpdomains as $cpdomain){
            $item = explode(' ',$cpdomain);
            $domain = explode('.',$item[1]);
            $max = count($domain);
            for($i=$max-1; $i>=0;$i--){
                $d = implode('.', array_slice($domain, $i));
                if(!isset($visits[$d])){
                    $visits[$d] = 0;
                }
                $visits[$d] += $item[0];
            }
        }
        $v = [];
        foreach($visits as $domain => $visit){
            $v[] = $visit.' '.$domain;
        }
        return $v;
    }
}

若以爲本文章對你有用,歡迎用愛發電資助。字符串

相關文章
相關標籤/搜索