Python|Leetcode《334》|递增的三元子序列

简介: Python|Leetcode《334》|递增的三元子序列

一、题目描述

题目:递增的三元子序列

难度:中等

地址:《递增的三元子序列》

描述:给你一个整数数组 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

解释:不存在满足题意的三元组


示例3

输入:nums = [2,1,5,0,4,6]

输出:true

解释:三元组 (3, 4, 5) 满足题意,因为 nums[3] == 0 < nums[4] == 4 < nums[5] == 6


提示:image.png


image.pngimage.pngimage.png

二、题目解析

注:本题博主乍一看以为是连续的递增序列(如果是会简单许多),实则不然,这里要注意。


题中需要我们找到整个数组中是否含有递增的三元子序列,解题思想如下:


1.定义前两个数为极限(或者超过约束范围的数)

2.遍历数组中的所有数据使用三重判断进行三个数的判断(if…elif…else)

1.if: 如果遍历到的数字小于第一个数字,则替换第一个数字;

2.elif:如果遍历到的数字大于第一个数字且比第二个数字小,则替换第二个数字(任何一次替换都证明此时已经有了递增的2元子序列),否则第二个数永远为inf

3.else:如果遍历到的数字大于第一个和第二个数字,证明此时存在递增的3元子序列。


三、解题代码

解法(一)

class Solution:
    def increasingTriplet(self, nums: List[int]) -> bool:
        if len(nums) < 3:
            return False
        first = second = float('inf')
        for i in nums:
            if i <= first:
                first = i
            elif i <= second:
                second = i
            else:
                return True
        return False
相关文章
|
3月前
|
机器学习/深度学习 数据采集 算法
时间序列结构变化分析:Python实现时间序列变化点检测
在时间序列分析和预测中,准确检测结构变化至关重要。新出现的分布模式往往会导致历史数据失去代表性,进而影响基于这些数据训练的模型的有效性。
217 1
|
4月前
|
机器学习/深度学习 算法 数据挖掘
6种有效的时间序列数据特征工程技术(使用Python)
在本文中,我们将探讨使用日期时间列提取有用信息的各种特征工程技术。
145 0
|
3月前
|
机器学习/深度学习 索引 Python
python之序列
python之序列
145 59
|
2月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
2月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
4月前
|
机器学习/深度学习 Python
时间序列特征提取:从理论到Python代码实践
时间序列是一种特殊的存在。这意味着你对表格数据或图像进行的许多转换/操作/处理技术对于时间序列来说可能根本不起作用。
63 1
时间序列特征提取:从理论到Python代码实践
|
4月前
|
机器学习/深度学习 分布式计算 大数据
几行 Python 代码就可以提取数百个时间序列特征
几行 Python 代码就可以提取数百个时间序列特征
|
4月前
|
JavaScript 前端开发 开发者
如何在 Python 中使用三元运算符?
【8月更文挑战第29天】
43 3
|
4月前
|
存储 缓存 安全
Python元组之不可变序列的奥秘与应用方式
Python 中的元组(Tuple)是一种有序的、不可变的数据结构,它是序列的一种特殊形式,就像一个固定大小的盒子,一旦放入物品就无法更换或移除。 元组可以包含任何类型的数据,如数字、字符串甚至是其他元组。 相比列表,元组在很多场景下提供了更高效、安全的选择。
|
4月前
|
存储 索引 Python
六:《Python基础语法汇总》— 字典和序列操作
本篇文章讲解了对字典元素的索引,以及字典常用的方法和函数;对字典的遍历;字典推导式和关于序列的运算符及方法
35 2