題目給定一個字符串數組,每一個字符串分兩部分,以空格分割。
第一部分爲訪問次數,第二部分爲域名。
要求按一樣的格式,分別返回頂級域名、二級域名、三級域名…的訪問次數。數組
例如,字符串"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; } }
若以爲本文章對你有用,歡迎用愛發電資助。字符串