Leetcode 334 Increasing Triplet Subsequence
2017-06-12 14:32
218 查看
Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the array.
Formally the function should:
Return true if there exists i, j, k
such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return false.
Your algorithm should run in O(n) time complexity and O(1) space complexity.
Examples:
Given
return
Given
return
找出unsorted 的序列里面有没有递增的三个elements
基本思想是顺序遍历一次,如果遇到比当前small更小的就更新small 如果有小于big但是大于small的就更新big
相当于是把中间的那个数变小,知道出现大于big 的数那么就是找到了
public class Solution {
public boolean increasingTriplet(int[] nums) {
int small = Integer.MAX_VALUE;
int big = Integer.MAX_VALUE;
for (int n : nums) {
if (n <= small)
{
small = n;
}
else if (n <= big)
{
big = n;
}
else {
return true;
}
}
return false;
}
}
Formally the function should:
Return true if there exists i, j, k
such that arr[i] < arr[j] < arr[k] given 0 ≤ i < j < k ≤ n-1 else return false.
Your algorithm should run in O(n) time complexity and O(1) space complexity.
Examples:
Given
[1, 2, 3, 4, 5],
return
true.
Given
[5, 4, 3, 2, 1],
return
false.
找出unsorted 的序列里面有没有递增的三个elements
基本思想是顺序遍历一次,如果遇到比当前small更小的就更新small 如果有小于big但是大于small的就更新big
相当于是把中间的那个数变小,知道出现大于big 的数那么就是找到了
public class Solution {
public boolean increasingTriplet(int[] nums) {
int small = Integer.MAX_VALUE;
int big = Integer.MAX_VALUE;
for (int n : nums) {
if (n <= small)
{
small = n;
}
else if (n <= big)
{
big = n;
}
else {
return true;
}
}
return false;
}
}
相关文章推荐
- leetcode_334 Increasing Triplet Subsequence
- [leetcode-334]Increasing Triplet Subsequence
- LeetCode[334] Increasing Triplet Subsequence
- LeetCode - 334 - Increasing Triplet Subsequence
- [Leetcode] #334 Increasing Triplet Subsequence
- leetcode_334. Increasing Triplet Subsequence ? 待解决
- 【LeetCode-334】Increasing Triplet Subsequence
- leetcode——334—— Increasing Triplet Subsequence
- LeetCode 334 Increasing Triplet Subsequence (两种方法)
- 【LeetCode】Increasing Triplet Subsequence(334)
- leetcode 334 Increasing Triplet Subsequence C++
- LeetCode 334 Increasing Triplet Subsequence
- LeetCode 334: Increasing Triplet Subsequence
- leetcode 334 : Increasing Triplet Subsequence : 被智商压制
- LeetCode 334 Increasing Triplet Subsequence
- LeetCode Increasing Triplet Subsequence
- leetcode:Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- LeetCode:Increasing Triplet Subsequence