-1
最近インタビューの質問をして、N(10,20)
の整数を一定期間にわたってList
に見つけました。 List
は、5秒間などの一定間隔で動的に追加されます。この問題に正しいデータ構造とアルゴリズムを使用する方法を教えてください。インタビュー:一定期間に渡ってリストの上位N個の整数
最近インタビューの質問をして、N(10,20)
の整数を一定期間にわたってList
に見つけました。 List
は、5秒間などの一定間隔で動的に追加されます。この問題に正しいデータ構造とアルゴリズムを使用する方法を教えてください。インタビュー:一定期間に渡ってリストの上位N個の整数
このような質問は通常、あまり洗練されていません。
10個の最後の20個のエントリのうち、最大20個の要素のArrayList:最後に追加すると、最初に1個が削除されることがあります。その後、それらをTreeSetのような新しいSortedSetに追加し、最初の10を逆順に取ります。 @を参照してください
キューが合うなら、いいです。 (それだけではありません)しかし、最も重要なポイントは正しさです。 ArrayListをソートすることはできません。多くの重複がある場合、10未満の数字が表示されることがあります。同時実行ガードなどを追加するためのポイント。
トップN(10,20)の整数はどういう意味ですか?リストのトップ10から20までの整数? – Maljam
何か試しましたか?あなたはインタビューで完全に失敗し、次回に成功する必要がありますか? –
到着時のトップNポイント/タイムスタンプを格納した並べ替えリストを作成します。新しいポイントが到着したとき - 必要に応じて古いポイントをクリーンアップします(期限が切れる場合)。新しいポイントを適切な場所に追加し、そこから最低ポイントを削除します。 – iced