add: 220112-CN
This commit is contained in:
parent
30312e104e
commit
86da1d183a
|
|
@ -0,0 +1,32 @@
|
|||
#include <vector>
|
||||
|
||||
/**
|
||||
* 334. Increasing Triplet Subsequence
|
||||
* Given an integer array nums, return true if there exists a triple of indices (i, j, k) such that i < j < k and nums[i] < nums[j] < nums[k]. If no such indices exists, return false.
|
||||
*/
|
||||
|
||||
class Solution {
|
||||
public:
|
||||
static bool increasingTriplet(const std::vector<int>& nums) {
|
||||
int n = nums.size();
|
||||
int overallMinimum = nums[0], solutionMinimum = nums[0], mid = 0x7FFFFFFF;
|
||||
for (int i = 1; i < n; ++i) {
|
||||
overallMinimum = std::min(overallMinimum, nums[i]);
|
||||
if (nums[i] > mid) {
|
||||
return true;
|
||||
}
|
||||
if (nums[i] > overallMinimum && nums[i] <= mid) {
|
||||
solutionMinimum = overallMinimum;
|
||||
mid = nums[i];
|
||||
}
|
||||
if (nums[i] > solutionMinimum && nums[i] < mid) {
|
||||
mid = nums[i];
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
return !Solution::increasingTriplet({2, 1, 5, 0, 4, 6});
|
||||
}
|
||||
|
|
@ -3,4 +3,4 @@ PROJECT(2201)
|
|||
|
||||
SET(CMAKE_CXX_STANDARD 23)
|
||||
|
||||
ADD_EXECUTABLE(2201 220111.cpp)
|
||||
ADD_EXECUTABLE(2201 220112-CN.cpp)
|
||||
Loading…
Reference in New Issue