package arrayandstring;
public class IncreasingTriplet {
public static void main(String[] args) {
}
//超出时间限制
public boolean increasingTriplet02(int[] nums) {
if (nums == null || nums.length < 3) {
return false;
}
for (int i = 0; i < nums.length; i ++) {
if (i > 0 && nums[i] == nums[i - 1]) {
continue;
}
for (int j = i + 1; j < nums.length; j ++) {
if (j > i + 1 && nums[j] == nums[j - 1]) {
continue;
}
int k = j + 1;
while (k < nums.length) {
if (nums[i] < nums[j] && nums[j] < nums[k]) {
return true;
} else {
k ++;
}
}
}
}
return false;
}
//min1, min2
//找出比min2大的数
public boolean increasingTriplet03(int[] nums) {
int min1 = Integer.MAX_VALUE;
int min2 = Integer.MAX_VALUE;
for (int num : nums) {
if (num < min1) {
min1 = num;
} else if (num > min1 && num < min2) {
min2 = num;
} else if (num > min2){
return true;
}
}
return false;
}
}
递增的三元组的实现思路及JAVA代码
最新推荐文章于 2023-01-05 22:15:37 发布