334. Increasing Triplet Subsequence
来源:互联网 发布:购买域名以后怎么使用 编辑:程序博客网 时间:2024/05/16 10:25
正常DP代码,但是在一个实例上超时了,==,要去找找可以节约时间的方法了。
class Solution {public: bool increasingTriplet(vector<int>& nums) { if(nums.size()<=2) return false; vector<int> dp(nums.size(),1); for(int i=nums.size()-2;i>=0;i--) { for(int j=i+1;j<nums.size();j++) { if(nums[i]<nums[j]) dp[i]=max(dp[i],1+dp[j]); } if(dp[i]>=3) return true; } return false; }};
最终AC代码,我的天那,提交了5次,终于AC了。。。。艰辛,中间遇到各种问题。比如int超范围啦。。。但是看提交结果差强人意啊,是要看看discuss了。
class Solution {public: bool increasingTriplet(vector<int>& nums) { if(nums.size()<=2) return false; multimap<int,int> count; count.insert(std::pair<int,int>(nums.back(),nums.size()-1)); vector<int> dp(nums.size(),1); for(int i=nums.size()-2;i>=0;i--) { count.insert(std::pair<int,int>(nums[i],i)); for(multimap<int,int>::iterator it=count.lower_bound(nums[i]);it!=count.end();it++) if(it->first>nums[i]) dp[i]=max(dp[i],1+dp[it->second]); if(dp[i]>=3) return true; } return false; }};
参考discuss,厉害了,原理大神们没有用DP,而是直接用两个元素存储。
class Solution {public: bool increasingTriplet(vector<int>& nums) { if(nums.size()<=2) return false; int c1=INT_MAX; int c2=INT_MAX; for(int i=0;i<nums.size();i++) { if(nums[i]<=c1) c1=nums[i]; else if(nums[i]<=c2) c2=nums[i]; else return true; } return false; }};
0 0
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- 334. Increasing Triplet Subsequence
- jsp之Cookie学习心得
- STM32单线串口对总线舵机的控制
- studio 的依赖打成jar包并混淆
- 红黑树之旋转操作,棒棒的注释
- tcp粘包和拆包的处理方案
- 334. Increasing Triplet Subsequence
- [BZOJ4542][Hnoi2016]大数(莫队+数学相关)
- POJ 1511 Invitation Cards(最短路spfa算法)
- weka数据预测 分类回归 方法 参数 总结
- activiti explorer部署流程中文乱码问题
- C语言中可变参数va_list/va_start/value_arg/va_end的理解
- 细菌增殖
- GYM 100090 C.Graph Restoration(Floyd)
- CE(并行工程)