334インクリメンタル三元シーケンス
ソートされていない配列を指定し、配列は、3の増加サブシーケンス長が存在するか否かが判定されます。
以下のように数学的な表現は、次のとおりです。
例えば、I、J、K、そして満足がある場合0≤I <J <K≤ N-1、
ARR [I] <ARR [Jよう ] <ARR [k]が、 真戻り、そうでなければ偽を返します。
説明:アルゴリズムの複雑さの時間要件はO(N)であり、空間的な複雑さはO(1)です。
例1:
入力:[1,2,3,4,5]
出力:真の
例2:
入力:[5,4,3,2,1]
出力:偽
class Solution {
public boolean increasingTriplet(int[] nums) {
if (nums==null||nums.length<3) return false;
int big=Integer.MAX_VALUE,small=Integer.MAX_VALUE;
for (int i:nums){
// 通过if的结构保证递增!
if (i<=small) small=i;
// 走到这一步说明这个值大于前面的值(i>small)
else if (i<=big) big=i;
// 走到这一步说明这个值大于前面的两个值(i>big>small)
else return true;
}
return false;
}
}