2012-04-23 21 views
2

私はJavaプログラマです。私のアルゴリズムが正しかったとしても、それは何度も見つかったので、私はコーデックフを使って提出物にタイムリミットを超過しました。プログラミングコンテストでJavaでソリューションを提出する際に採用すべき技術がいくつかありますか?Javaでコーデック問題を解決する

+1

最終的に変数を作成するような単純なコードの最適化も機能します –

+0

"ベスト"ソリューションとソリューションを比較してください。ハッシュマップが必要な場合など、配列を使用する傾向があります。 (それが "時間制限を超過した"という意味であれば)幸いにも、それはアルゴリズムへの洞察のためのあなたのスキルが悪いので、幸運を意味するわけではありません。 –

+0

私は同じ問題を抱えています、コーデックフはあなたのアルゴリズム能力をテストする最良のプラットフォームではありません。 – nikhil

答えて

4

CodeChefでは、Javaのすべての提出は、自国語(例えばc/C++/pascal)に比べて2倍の時間制限があります。しかし、言及されていないことの1つは、メモリ消費が高くなり、Javaソリューションで非常に頻繁に起こると、ジャッジが非常にゆっくりと動作することです。 CodeChefジャッジは、すべてのJavaプログラムで64 MBのメモリ設定で動作します。できるだけ少ないメモリで試してみて、同じソリューションを-Xms = 64 MBでローカルに実行してみてください。

制限時間が長くなるのは、プログラムのメモリ使用量が許容最大値(この場合は64MB)に近づくと、JVMはCPUを非常に集中的に使用するガベージコレクタを呼び出すため遅延が発生するためですプログラムの実行。

関連する問題