1
use std::collections::{HashMap, VecDeque};4
pub fn watched_videos_by_friends(5
watched_videos: Vec<Vec<String>>,6
friends: Vec<Vec<i32>>,10
let mut queue = VecDeque::from([id as usize]);11
let mut visited = vec![false; friends.len()];12
visited[id as usize] = true;14
let len = queue.len();16
if let Some(node) = queue.pop_front() {17
for nei in friends[node as usize].iter().map(|&nei| nei as usize) {27
let mut watched_videos = queue29
.fold(HashMap::new(), |mut freq, user| {30
watched_videos[user].iter().fold(freq, |mut freq, v| {31
*freq.entry(v).or_insert(0) += 1;37
watched_videos.sort_unstable_by(|(v_a, f_a), (v_b, f_b)| {46
.map(|(v, _)| v.to_string())