Pythonの関係リストから相互フォロワーを見つけるプログラム
リレーションと呼ばれるリストがあるとします。リレーションリストrelations[i]の各要素に2つの数字[ai、bi]が含まれている場合、ソーシャルメディアプラットフォームで人物aiがbiをフォローしていることを示します。誰かをフォローしている人のリストを見つけて、フォローバックする必要があります。並べ替えられた順序で返す必要があります。
したがって、入力が関係=[[0、2]、[2、3]、[2、0]、[1、0]]のような場合、出力は[0、2]になります。
これを解決するには、次の手順に従います-
-
ans:=新しいセット
-
見た:=新しいセット
-
関係のあるペアaとbごとに、実行します
-
見られるようにペア(a、b)をマークします
-
(b、a)も表示されているとマークされている場合、
-
bとaを
に挿入します
-
-
-
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]
-
リストの累積合計を見つけるPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが与えられたので、累積合計でリストを作成する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # cumulative sum def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) &
-
リストからN個の最大の要素を見つけるPythonプログラム
整数リストが与えられた場合、私たちのタスクはリスト内で最大のN個の要素を見つけることです。 例 Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] アルゴリズム Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest value and store it in a new list. 例 def Nnumbere