Untitled
unknown
plain_text
a year ago
1.1 kB
10
Indexable
def getRecommendedFriends(n, friendships): adj = [set() for _ in range(n)] for i, j in friendships: adj[i].add(j) adj[j].add(i) common = [{} for _ in range(n)] for u1, u2 in friendships: # u2 is the common friend for u3 in adj[u2]: if u3 != u1 and u3 not in adj[u1]: if u3 not in common[u1]: common[u1][u3] = 0 common[u1][u3] += 1 # u1 is the common friend for u3 in adj[u1]: if u3 != u2 and u3 not in adj[u2]: if u3 not in common[u2]: common[u2][u3] = 0 common[u2][u3] += 1 res = [-1] * n for i in range(n): # Nobody has common friend with user i. if len(common[i]) == 0: for j in range(n): if j not in adj[i] and j != i: res[i] = j break else: c = -1 for user, num in common[i].items(): if c < num or (c == num and user < res[i]): res[i] = user c = num return res
Editor is loading...
Leave a Comment