递增的三元子序列(来源力扣)
给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。
如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。
示例 1:
输入:nums = [1,2,3,4,5]
输出:true
解释:任何 i < j < k 的三元组都满足题意
示例 2:
输入:nums = [5,4,3,2,1]
输出:false
解释:不存在满足题意的三元组
方法1:(贪心)
class Solution {public boolean increasingTriplet(int[] nums) {int n = nums.length;if(n < 3) return false;int first = nums[0], second = Integer.MAX_VALUE;for(int i = 0; i < n; i++) {if(nums[i] > second) return true;else if(nums[i] > first) second = nums[i];else first = nums[i];}return false;}
}
贪心思想:为了找到递增的三元子序列,first 和 second 应该尽可能地小,此时找到递增的三元子序列的可能性更大。
理解:赋初始值的时候,已经满足second > first了,现在找第三个数third
(1) 如果third比second大,那就是找到了,直接返回true
(2) 如果third比second小,但是比first大,那就把second的值设为third,然后继续遍历找third
(3) 如果third比first还小,那就把first的值设为third,然后继续遍历找third(这样的话first会跑到second的后边,但是不要紧,因为在second的前边,老first还是满足的)
递增的三元子序列(来源力扣)相关推荐
- 最长递增子序列(力扣)图解
最长递增子序列(力扣) 原题 题目描述 解题思路 代码 图解 原题 题目链接 题目描述 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度. 子序列 是由数组派生而来的序列,删除(或不删除 ...
- 334. 递增的三元子序列(中等 贪心 数组)
334. 递增的三元子序列 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列. 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 ...
- 334. 递增的三元子序列
334. 递增的三元子序列 难度:中等 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列. 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < ...
- LeetCode:递增的三元子序列【334】
LeetCode:递增的三元子序列[334] 题目描述 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列. 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i ...
- 数组题目:递增的三元子序列
文章目录 题目 标题和出处 难度 题目描述 要求 示例 数据范围 进阶 解法 思路和算法 代码 复杂度分析 题目 标题和出处 标题:递增的三元子序列 出处:334. 递增的三元子序列 难度 6 级 题 ...
- LeetCode 每日一题打卡:334.递增的三元子序列
题目 334.递增的三元子序列 题目大意 给你一个整数数组numsnumsnums ,判断这个数组中是否存在长度为333的递增子序列. 如果存在这样的三元组下标(i,j,k)(i, j, k)(i,j ...
- Leetcode 334.递增的三元子序列
原题链接: Leetcode 334.递增的三元子序列 Given an integer array nums, return true if there exists a triple of ind ...
- LeetCode-334. 递增的三元子序列 Python3版本
334. 递增的三元子序列 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列. 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ...
- 【LeetCode】334. 递增的三元子序列
一.题目 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列. 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] ...
最新文章
- Ajax请求中的async:false/true的作用
- tableau可视化数据分析60讲(八)-tableau计算函数(重点知识)
- boost::multiprecision模块mpfr相关的测试程序
- SAP CAM - Cloud Access Manager
- 如何理性客观地看待人工智能热潮
- 边缘AI研发落地生态挑战调研报告发布
- Intellij IDEA 2019中Tomcat的部署
- 中国碳酸亚乙酯(EC)(CAS+96-49-1)行业市场供需与战略研究报告
- java autointeger_【Java多线程】线程安全的Integer,AutomicInteger
- python可执行文件 情人节快乐_各位情人节快乐, Python帮忙撒狗粮, 我连夜做了这个程序!...
- 基于视觉的移动平台运动目标检测
- Linux 开发应用离线安装
- android系统版本命名,安卓历代系统版本命名回顾 你吃过哪些甜点?
- Qt深入浅出(一) 从零开始写Qt应用
- Apache Log4j使用实例
- 更改netbios计算机名,修改你计算机的Netbios名
- JAVA我的世界给op_我的世界手机版op指令大全 op指令怎么用
- Java NIO(二)缓冲区Buffer
- IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- 电磁场与电磁波(二、电磁场的基本规律)
热门文章
- 做公众号依然可以赚到钱
- 全球零碳产业园标准率先发布;黑芝麻智能与江汽集团战略合作 | 美通企业日报...
- 理解RabbitMQ中的AMQP模型,知乎上已获万赞
- 域名服务是什么意思?
- python龙虎榜数据_GitHub - TR678/stock: stock,股票系统。使用python进行开发。
- 索尼的hlg是什么_索尼HLG的拍摄使用方法
- FFMPEG录制以及推流
- 前端vue基于onlyoffice实现在线预览
- 基于CNN实现视频动作分类任务
- 深圳Java培训学习:Java8.0新特性之Lambda表达式--【千锋】