Python 中根據關係列表查詢共同關注者程式
假設我們有一個名為 relations 的列表。relations 列表中的每個元素 relations[i] 包含兩個數字 [ai, bi],表示使用者 ai 在社交媒體平臺上關注使用者 bi。我們需要找到一個列表,其中包含互相關注的使用者,並按排序順序返回。
例如,如果輸入是 relations = [[0, 2],[2, 3],[2, 0],[1, 0]],則輸出為 [0, 2]。
為了解決這個問題,我們將遵循以下步驟:
ans := 一個新的集合
seen := 一個新的集合
對於 relations 中的每一對 a 和 b,執行以下操作:
將 (a, b) 對標記為已檢視
如果 (b, a) 也被標記為已檢視,則:
將 b 和 a 插入 ans 中
對 ans 的元素進行排序並返回
示例
讓我們看看下面的實現,以便更好地理解。
def solve(relations): ans = set() seen = set() for a, b in relations: seen.add((a, b)) if (b, a) in seen: ans.add(b) ans.add(a) k = list(ans) rtr = sorted(k) return rtr relations = [ [0, 2], [2, 3], [2, 0], [1, 0] ] print(solve(relations))
輸入
[[0, 2],[2, 3],[2, 0],[1, 0]]
輸出
[0, 2]
廣告