Problem Description
[https://leetcode.com/problems/increasing-triplet-subsequence/]
Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.
Formally the function should:
思路
设置三个状态,1.一个数2.两个数,第二个数大于第一个数3.三个数,满足条件
对每来的一个数,如果它大于第一个数,那么跳到状态2,如果大于第二个数,跳到状态3;如果小于第一个数,更新第一个数,如果小于第二个数,更新第二个数。
就酱!
Code
package q334;
public class Solution {
public boolean increasingTriplet(int[] nums) {
int a = Integer.MAX_VALUE;
int b = Integer.MAX_VALUE;
for (int i = 0; i < nums.length; i++) {
if (nums[i] <= a)
a = nums[i];
else if (nums[i] <= b)
b = nums[i];
else
return true;
}
return false;
}
}