1152.Analyze user website visit pattern
We are given some website visits: the user with name username[i] visited the website website[i] at time timestamp[i].
A 3-sequence is a list of websites of length 3 sorted in ascending order by the time of their visits. (The websites in a 3-sequence are not necessarily distinct.)
Find the 3-sequence visited by the largest number of users. If there is more than one solution, return the lexicographically smallest such 3-sequence.
Example 1:
Input: username = ["joe","joe","joe","james","james","james","james","mary","mary","mary"], timestamp = [1,2,3,4,5,6,7,8,9,10], website = ["home","about","career","home","cart","maps","home","home","about","career"]
Output: ["home","about","career"]
Explanation:
The tuples in this example are:
["joe", 1, "home"]
["joe", 2, "about"]
["joe", 3, "career"]
["james", 4, "home"]
["james", 5, "cart"]
["james", 6, "maps"]
["james", 7, "home"]
["mary", 8, "home"]
["mary", 9, "about"]
["mary", 10, "career"]
The 3-sequence ("home", "about", "career") was visited at least once by 2 users.
The 3-sequence ("home", "cart", "maps") was visited at least once by 1 user.
The 3-sequence ("home", "cart", "home") was visited at least once by 1 user.
The 3-sequence ("home", "maps", "home") was visited at least once by 1 user.
The 3-sequence ("cart", "maps", "home") was visited at least once by 1 user.Note:
3 <= N = username.length = timestamp.length = website.length <= 501 <= username[i].length <= 100 <= timestamp[i] <= 10^91 <= website[i].length <= 10Both
username[i]andwebsite[i]contain only lowercase characters.It is guaranteed that there is at least one user who visited at least 3 websites.
No user visits two websites at the same time.
Solution:
version 1: Brute Force
https://www.youtube.com/watch?v=V510Lbtrm5s Map<String, TreeMap<Integer, String>> map;
form the all 3-sequence from a user, concat is into a string (use 3 for loop)
Map<String, Integer> freqMap
String is the concat string, like "home->about->career" , Integer is the freq.
This is similar to a Amazon interview: https://leetcode.com/discuss/interview-question/420704/amazon-most-popular-page-sequence
The diff is the amazon question , the timestamp must be consecutive, like 1,2,3 2,3,4 3,4,5.
But in the question timestamp can be non-consecutive.
Last updated
Was this helpful?