私はいくつかのスコアで順序付けられたアルバム名の2つのリストを持っています。2つのリストのデルタを計算する高速アルゴリズム
albums_today = ['album1', 'album2', 'album3']
albums_yesterday = ['album2', 'album1', 'album3']
あなたのリストのサイズが何であるかに応じて、多くの異なるアプローチがあり、どのように私は、リストの順番の変化を計算することができ、よく
{'album1':1, 'album2':-1, 'album3':0}
を書き込むことができますいくつかの他がある場合、私は疑問に思いますより少ないスペースを消費するアルゴリズム – satoru
O(N^2)に切り替えてHashMapなしで行うと、さらに多くのステップでRAM消費量を交換できます。'albums_yesterday_lookup.get(album_title)'を 'albums_yesterday.find(album_title)'(ここで.find()は与えられたアルバムタイトルの位置を返します)に置き換えてください。 – Tyson
これはほとんどの場合、最適ではない最適化です。リストが十分に大きくてメモリ消費量が大きければ、漸近コストはさらに悪化するでしょう。 – SingleNegationElimination