最大ではない
入力されたすべての数値の中からではなく、特定の条件を満たす数値の中からのみ最大値 (最小値) を見つける必要がある場合は、最初の数値が最大値の初期値であるという事実を考慮する必要があります。 (最小) が常に要件を満たすとは限りません。
たとえば、最大の負の数を探している場合、データセットは次のとおりです:
\(\{5, -2, 4, 2, -1, -3\}\ ) 最大値の初期値で数値 5 を取得します。これは正であり、負の値よりも大きくなります。したがって、条件
X > は次のようになります。 M
は常に false になります。
したがって、前の問題からアルゴリズムに負の数のチェックを 1 つだけ追加するだけでは十分ではなく、最初の数が必要な条件を満たさない可能性があるという事実も考慮する必要があります (この場合、負の.
これを修正するには、ループ内に次の条件を追加します:
疑似コード
<プレ>
X が負の場合、
M >= 0 または M < の場合X、それから
M=X
プレ>
指定されたコードでは、
M >= 0
条件により、
M
M = X アクションを実行できます。 > 変数には最初、残りの値よりも明らかに大きい値が含まれています (この例では、値は 5 です)。
また、数値の範囲がわかっている場合は、指定された範囲の最小 (最大) 数値を最大 (最小) の初期値として使用できることにも注意してください。