本文主要是介绍Leetcode 1152. Analyze User Website Visit Pattern [Python],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先把任务,时间点,阅览网址三元组组合起来并以人名和时间点排序,随后建立任务和以阅览顺序建立的网站浏览list。依据list建立网址三元组,并对这样的三元组的阅览次数做统计。记录最高次数和对应的网址三元组,若次数一样,取字符大小较小的为当前答案三元组,直到最后,分割三元组组成的key。
class Solution:def mostVisitedPattern(self, username: List[str], timestamp: List[int], website: List[str]) -> List[str]:peotimeweb = []for i in range(len(timestamp)):peotimeweb.append((username[i], timestamp[i], website[i]))peotimeweb.sort(key = lambda x: (x[0], x[1]))peoweb = collections.defaultdict(list)for item in peotimeweb:peoweb[item[0]].append(item[2])all_path = collections.defaultdict(int)for people in peoweb:temp_path = collections.defaultdict(int)path = peoweb[people]for i in range(len(path)):for j in range(i+1, len(path)):for k in range(j+1, len(path)):key = '_'.join([path[i], path[j], path[k]])temp_path[key] = 1for key in temp_path:all_path[key] += temp_path[key]count = -1result = ''for key in all_path:if all_path[key] > count:count = all_path[key]result = keyelif all_path[key] == count:if result > key:result = keyreturn result.split('_')
这篇关于Leetcode 1152. Analyze User Website Visit Pattern [Python]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!