インタビュー中にこの問題が発生しました。この問題の最適な解決策は何でしょうか?番号付きメッセージがサーバーに到着しました
メッセージオブジェクトが送信され、サーバーに到着します。メッセージは[0、n]から番号が付けられます。メッセージはランダムに到着します。
[0から渡された番号への]すべてのメッセージがサーバーに到着した場合に、番号を取り、[0、渡された番号に]からリストを返します。 [0から渡された番号への]すべてのメッセージが到着していない場合は、nullを返します。
インタビュー中にこの問題が発生しました。この問題の最適な解決策は何でしょうか?番号付きメッセージがサーバーに到着しました
メッセージオブジェクトが送信され、サーバーに到着します。メッセージは[0、n]から番号が付けられます。メッセージはランダムに到着します。
[0から渡された番号への]すべてのメッセージがサーバーに到着した場合に、番号を取り、[0、渡された番号に]からリストを返します。 [0から渡された番号への]すべてのメッセージが到着していない場合は、nullを返します。
タグ付けされた番号に基づいてメッセージを並べ替え、リストの長さを取る。長さが指定された数と等しい場合、すべてのメッセージが到着しています。私はメッセージの配列を持っている場合、例えば
、:
int[] messages = [0, 3, 2, 1, 8, 6, 5];
public void confirmArrival(int[] list, int number)
{
// Implement the sort algorithm for list
// ...
if (list.length() == number + 1)
{
return list;
}
return null;
}
害はありませんが、このコードの書式は癌に似ています。このような質の低い回答のポイントさえも何ですか? –
私の編集では、どのようにコードがプロプラエフォーマットされているかを知るための道具を持っています。 –
は、あなたがそれをやってみましたがありますか?もしそうなら、何が効いていないのですか?あなたは、あなたのインタビューの質問に答えるだけで、あなたのインタビューの仕事をしてくれる人がいるとは期待できません。 – DGarvanski
私はそれをやろうとしました。インターバルツリーを使用してlog(n)時間の挿入と取得を行うことができました。これは以前のインタビューの質問であり、進行中の仕事ではありません。 – john