题目给定一个字符串数组,每一个字符串分两部分,以空格分割。
第一部分为访问次数,第二部分为域名。
要求按一样的格式,分别返回顶级域名、二级域名、三级域名…的访问次数。数组
例如,字符串"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; } }
若以为本文章对你有用,欢迎用爱发电资助。字符串