美文网首页
Increasing Triplet Subsequence

Increasing Triplet Subsequence

作者: 帽子和五朵玫瑰 | 来源:发表于2018-05-21 09:58 被阅读0次

    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 [1, 2, 3, 4, 5],

    return true.

    Given [5, 4, 3, 2, 1],

    return false.<br

        public boolean increasingTriplet(int[] nums) {
             int min =Integer.MAX_VALUE;
             int mid =Integer.MAX_VALUE;
             for(int i=0;i<nums.length;i++) {
                 if(nums[i]<min) {
                     min=nums[i];
                 }else if(min<nums[i]&&nums[i]<mid) {
                     mid = nums[i];
                 }else {
                     if(nums[i]>mid) return true;
                 }
             }
             return false;
        }
    

    用两个标志 min mid。

    相关文章

      网友评论

          本文标题:Increasing Triplet Subsequence

          本文链接:https://www.haomeiwen.com/subject/lzxfjftx.html