次のように、並べ替えられたタプルのリストに2つの次元データが格納されています。
data = [(0.1,100), (0.13,300), (0.2,10)...
各タプルの最初の値であるX値は、タプルのリストに対して1回だけ発生します。つまり、0.1などの値は1つだけです。
次に、バケットの並べ替えられたリストがあります。バケットは、次のように、範囲とIDを含むタプルとして定義されます。
buckets = [((0,0.14), 2), ((0.135,0.19), 1), ((0.19,0.21), 2), ((0.19,0.24), 3)...
範囲はX軸を基準にしています。したがって、ID 2には上記の2つのバケットがあり、ID1と3にはそれぞれ1つのバケットしかありません。ID2の最初のバケットの範囲は0から0.14です。バケットは重複する可能性があることに注意してください。
したがって、データをバケットにドロップしてからスコアを合計するアルゴリズムが必要です。上記のデータの場合、結果は次のようになります。
1:0
2:410
3:10
各データがID2に関連付けられたバケットによってどのようにキャッチされるかに注意してください。したがって、スコアが取得され100+300+10=410
ます。
これを行うためのアルゴリズムをどのように書くことができますか?