Leetcode 334.递增的三元子序列
2024-09-08 13:50:31
递增的三元子序列
给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。
数学表达式如下:
如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-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;
}
}
最新文章
- RadioButton与CheckBox
- Writing Your Own jQuery Plugins
- PHP中is_numeric函数十六进制绕过0day
- 提交自己的插件包(package)
- C#读取xlsx文件Excel2007
- WCF分布式开发步步为赢(11):WCF流处理(Streaming)机制
- 资源管理更新系统V2.0版的一些问题
- WdatePicker的一些用法
- PHP负载均衡
- Asp.Net中的session配置
- Android 快速开发系列 打造万能的ListView GridView 适配器
- javascript运动功能-分享到
- CSharp笔记>;>;>;多语言,注册
- 9.19.3 反射和Properties(重要)
- 使用Recovery Services备份文件及文件夹
- linux TCP头部的构造的简单分析
- [摘抄] SFM 和 Visual SLAM
- express文件上传中间件Multer详解
- CentOS 7.4 初次手记:第四章 CentOS安全了解
- ReactiveX 学习笔记(5)合并数据流
热门文章
- Java方式配置Spring
- 09通过winfrom实现简单的播放音、视频
- redis和memcache
- iOS NSDate 常用日期相关函数的封装
- MySQL存储过程(批量生成论坛中发帖、回帖、主题等数据)
- LINUX提高openfire并发数(网上收集)
- PG extract 函数示例
- 洛谷 P2353 背单词
- 洛谷 P1276 校门外的树(增强版)
- FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool <;registering>; (Datanode Uuid unassigned) service to controller/192.168.1.183:9000. Exiting. java.io.IOExcep