別のウェブサイトから次のインタビューの質問に遭遇しました。
受信トレイに大量のメールが届きます。すべての送信者アドレスをサーバーに送信したいとします。それらをバッチで送信できます(各バッチには送信者の電子メールアドレスが多数含まれています)。制限は、バッチに重複する電子メールアドレスを含めることはできないということです。バッチの数が最小になるように、すべての電子メールアドレスをバッチで送信するプログラムをどのように作成しますか。
複雑さを分析する
私が好きなこれに対する答えは、電子メールをバイナリ検索ツリーに配置し(したがって、重複を削除し)、それをシリアル化して送信することです。これは1つのバッチのみを送信し、O(n * log n)時間です。より良い解決策でチャイムを鳴らしたい人はいますか?