2017-11-12 17 views
-1

配列を使用せずにn個の数字から最大3つの要素を特定する必要があり、構造のようなリストであり、配列を使用せずにn個の数字から最大3つの数字

+0

パフォーマンス上の懸念はありますか?あなたのアルゴリズムはこの問題に最適な 'n(n)'を実行します。一般的なコードレビューが必要な場合は、代わりに[codereview](https://codereview.stackexchange.com/)をご覧ください。 – hnefatl

+4

作業用コードの改善に役立つ要求であるため、この質問を議論の対象外としています。 – dasblinkenlight

+0

コードが機能しているので、コードレビューを依頼するほうがよいでしょう。 –

答えて

2

thirdMaxとの比較から開始できます。これが偽であれば、他のすべてを考慮する必要はありません。

if (number > thirdMax) 
{ 
    if (number > secondMax) 
    { 
     thirdMax = secondMax; 
     if (number > firstMax) 
     { 
      secondMax = firstMax; 
      firstMax = number; 
     } 
     else 
     { 
      secondMax = number; 
     } 
    } 
    else 
    { 
     thirdMax = number; 
    } 
} 
関連する問題