每天一道算法题【蓝桥杯】【递增的三元子序列】

每天一道算法题【蓝桥杯】【递增的三元子序列】_第1张图片

思路

arr【0】和arr【1】分别用于更新递增序列的前两个数

#define _CRT_SECURE_NO_WARNINGS 1
#include
using namespace std;
class Solution {
public:
    bool increasingTriplet(vector& nums) {
        vector arr(3);
        arr[0] = arr[1] = INT_MAX;                
        for (int i = 0; i < nums.size(); i++)
        {
            if (nums[i] <= arr[0])    //小于等于上一个数的值直接更新最小值
            {
                arr[0] = nums[i];
            }
            else if (nums[i] <= arr[1])
            {
                arr[1] = nums[i];   //小于等于上一个数的值直接更新最小值
            }
            else return true;
        }
        return false;
    }
};

你可能感兴趣的:(题解,算法,蓝桥杯,c++,leetcode,贪心算法)