Leetcode PHP题解--D36 811. Subdomain Visit Count
811. Subdomain Visit Count
题目链接
题目分析
题目给定一个字符串数组,每个字符串分两部分,以空格分割。
第一部分为访问次数,第二部分为域名。
要求按同样的格式,分别返回顶级域名、二级域名、三级域名…的访问次数。
例如,字符串"9001 discuss.leetcode.com"
。
discuss.leetcode.com
算一个域名;
leetcode.com
算另一个;
com
也是一个。
因此要返回["9001 discuss.leetcode.com", "9001 leetcode.com", "9001 com"]
思路
先把域名用explode
函数拆分,再按层级把访问次数加到每个层级去。
最终代码
<?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; } }
若觉得本文章对你有用,欢迎用爱发电资助。
相关推荐
aanndd 2020-08-12
aanndd 2020-07-26
aanndd 2020-07-08
zangdaiyang 2020-07-04
yaohustiAC 2020-06-28
us0 2020-06-28
yaohustiAC 2020-06-28
zangdaiyang 2020-06-28
Clairezz 2020-06-28
嗡汤圆 2020-06-26
嗡汤圆 2020-06-21
aanndd 2020-06-16
aanndd 2020-06-16
码墨 2020-06-16
yaohustiAC 2020-06-11
zangdaiyang 2020-06-10
jiayuqicz 2020-06-09
yaohustiAC 2020-06-06
heray0 2020-06-04