递增的三元子序列

给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。

数学表达式如下:

如果存在这样的 i, j, k,  且满足 0 ≤ i < j < kn-1,
使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。

说明:
要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。

示例 1:

输入: [1,2,3,4,5]

输出: true

示例 2:

输入: [5,4,3,2,1]

输出: false

"中间"那个数是很重要的。所以就是用m来代替。m之前始终有个比他小的数(l,或曾经的l)。所以如果当前遍历到的元素大于了m,那么就return true。

 class Solution {
public boolean increasingTriplet(int[] nums) {
int numsSize=nums.length;
if(numsSize<3) return false;
int l=nums[0],m=Integer.MAX_VALUE;
for(int i=1;i<numsSize;i++){
int a=nums[i];
if(a<=l) l=a;
else if(a<m) m=a;
else if(a>m) return true;
}
return false;
}
}

最新文章

  1. RadioButton与CheckBox
  2. Writing Your Own jQuery Plugins
  3. PHP中is_numeric函数十六进制绕过0day
  4. 提交自己的插件包(package)
  5. C#读取xlsx文件Excel2007
  6. WCF分布式开发步步为赢(11):WCF流处理(Streaming)机制
  7. 资源管理更新系统V2.0版的一些问题
  8. WdatePicker的一些用法
  9. PHP负载均衡
  10. Asp.Net中的session配置
  11. Android 快速开发系列 打造万能的ListView GridView 适配器
  12. javascript运动功能-分享到
  13. CSharp笔记&gt;&gt;&gt;多语言,注册
  14. 9.19.3 反射和Properties(重要)
  15. 使用Recovery Services备份文件及文件夹
  16. linux TCP头部的构造的简单分析
  17. [摘抄] SFM 和 Visual SLAM
  18. express文件上传中间件Multer详解
  19. CentOS 7.4 初次手记:第四章 CentOS安全了解
  20. ReactiveX 学习笔记(5)合并数据流

热门文章

  1. Java方式配置Spring
  2. 09通过winfrom实现简单的播放音、视频
  3. redis和memcache
  4. iOS NSDate 常用日期相关函数的封装
  5. MySQL存储过程(批量生成论坛中发帖、回帖、主题等数据)
  6. LINUX提高openfire并发数(网上收集)
  7. PG extract 函数示例
  8. 洛谷 P2353 背单词
  9. 洛谷 P1276 校门外的树(增强版)
  10. FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool &lt;registering&gt; (Datanode Uuid unassigned) service to controller/192.168.1.183:9000. Exiting. java.io.IOExcep