2017-06-26 10 views
0

インタビューの質問が1件ありました。
この時間内に送信された開始時間と終了時間とエネルギー。 私はいつでも最高のエネルギーを見つけなければなりません。 EXについて
: 考える3つの間隔
(1,5,10)[1から始まる、この時間である10 5の端とエネルギー]
(6,8-
(2,7,14) 16)
時刻6から7までの間の任意の瞬間の最大エネルギーは30です。
私のアプローチ:これは間隔の重複問題ですが、3番目のパラメータ(エネルギー)が原因でクラッキングできませんでした。
研究では、インターバルツリーを使って解決できると思います。私はいくつかのアプローチとPseudoCodeを探しています。
ありがとうございます。[特定の間隔での最大エネルギー]

+0

これは実際にサイトには適していません。質問ありますか?リクエストコードはここには存在しません。 – Carcigenicate

+0

[大きな配列の指定された範囲の値を最も効率的に増やしてから最大の値を見つける方法](https://stackoverflow.com/questions/37798799/how-to-most-efficiently-increase-values)の可能な複製-a-a-large-array-a-large-array-an- – m69

答えて

1

推奨O(nlogn)アルゴリズム:

  1. ターン毎(開始、エネルギー)及び(終了、 - エネルギー)対はによって
  2. ソート対が第1の座標に(エンド、エネルギーを開始()時間)ペア現在のエネルギーを更新し、追跡して
  3. 反復

あなたは終了時刻が開始時刻と一致した場合に何をすべきかを決定するように注意する必要がありますが、最大 - として、このカウントを行いますインスタント不自然な高エネルギーかどうか?

関連する問題