leetcode-mid-array-334 Increasing Triplet Subsequence-NO

mycode   time limited

class Solution(object):
    def increasingTriplet(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        length = len(nums)
        temp = []
        for i,num_i in enumerate(nums[:length-2]):
            for j,num_j in enumerate(nums[i+1:length-1]):
                if num_i < num_j:
                    for k in nums[i+j+2:]:
                        if k > nums[i+j+1]:
                            return True
        return False

 

reference:

Idea: keep the maximum and minimum, if elif meet between them, you can return True friends

Note: Python may be represented by plus or minus infinity following manner:

float("inf"), float("-inf")
class Solution(object):
    def increasingTriplet(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        min1 = min2 = float('inf')
        for item in nums:
            if item <= min1: #[1,1,-2,6] 如果只是<,那么min1=1,min2=1,错误
                min1= item
            elif item < min2:
                min2 = item
            elif item > min2:returnNot else, otherwise the item = min2 situation will#
                 True            
        return False

 

Guess you like

Origin www.cnblogs.com/rosyYY/p/10964149.html