![LeetCode 334 递增的三元子序列[贪心] HERODING的LeetCode之路,第1张 LeetCode 334 递增的三元子序列[贪心] HERODING的LeetCode之路,第1张](/aiimages/LeetCode+334+%E9%80%92%E5%A2%9E%E7%9A%84%E4%B8%89%E5%85%83%E5%AD%90%E5%BA%8F%E5%88%97%5B%E8%B4%AA%E5%BF%83%5D+HERODING%E7%9A%84LeetCode%E4%B9%8B%E8%B7%AF.png)
解题思路:
这道题如果用三重for循环的思路去写,就想复杂了,除非是找出所有的三元子序列才这样做。我们只需考虑最极端的情况,就是在当前遍历的序列里,固定两个最小的值,一旦遇到大的值,就返回true,这就是贪心的思想。代码如下:
class Solution {
public:
bool increasingTriplet(vector& nums) {
int a = INT_MAX;
int b = INT_MAX;
for(auto& num : nums) {
if(num <= a) {
a = num;
} else if(num <= b) {
b = num;
} else return true;
}
return false;
}
};
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)