この問題に対する最適な解決策はありますか?
100 万個の電話番号のファイルから重複を見つけるアルゴリズムを説明してください。このアルゴリズムを実行すると、2 メガバイトのメモリしか使用できなくなります。つまり、すべての電話番号を一度にメモリにロードすることはできません。
私の「素朴な」ソリューションは、値を反復処理し、ファイルを一度にではなくチャンクでロードする O(n^2) ソリューションです。
i = 0 ~ 999,999 の場合
string currentVal = get the item at index i for j = i+1 to 999,999 if (j - i mod fileChunkSize == 0) load file chunk into array if data[j] == currentVal add currentVal to duplicateList and exit for
本当にユニークな方法でデータセット全体をロードし、番号が重複しているかどうかを確認できる別のシナリオが必要です。持ってる人いる?