标签:
题目链接:
https://leetcode.com/problems/increasing-triplet-subsequence/
题目大意:
找出一个三元的上升子序列。返回bool值,表示是否存在。
O(n)时间,O(1)空间
解题思路:
维护第一小数,第二小数。
一但出现数大于第二小数,即可break宣布找到。
扫一遍,维护第一小数和第二小数即可。
1 class Solution { 2 public: 3 bool increasingTriplet(vector<int>& nums) { 4 if (nums.size() == 1 || nums.size() == 2 || nums.size() == 0) 5 { 6 return false; 7 } 8 9 int most_min = INT_MAX; 10 int second_min = INT_MAX; 11 12 for (int i = 0; i < nums.size(); ++i) 13 { 14 if (nums[i] <= most_min) 15 { 16 most_min = nums[i]; 17 } 18 else if (nums[i] <= second_min) 19 { 20 second_min = nums[i]; 21 } 22 else 23 { 24 return true; 25 } 26 } 27 28 return false; 29 30 31 } 32 };
2016-03-19 10:39:19
leetcode-334 Increasing Triplet Subsequence 解题记录
标签:
原文地址:http://www.cnblogs.com/zzhall/p/5294529.html