递增的三元子序列
力扣 334. 递增的三元子序列
题目说明
给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。
如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。
提示:
1 <= nums.length <= 10^5-2^31 <= nums[i] <= 2^31 - 1
示例
示例 1:
1 | 输入:nums = [1,2,3,4,5] |
示例 2:
1 | 输入:nums = [5,4,3,2,1] |
示例 3:
1 | 输入:nums = [2,1,5,0,4,6] |
笔者理解
此题是一道字符串算法问题,在力扣题库中被定义为中等题。
解法
当笔者阅读完此题后,我们可以贪心使得 a 最小, b 尽可能小, 然后找到 c 即可(当 a,b 不再更新时,说明三元组找到了),让我们来看看具体如何实现的吧。
实现
1 | class Solution { |
时间和空间效率还行,可见此解法还比较适合此题。
总结
本题是今天的一题,难度是为中等,感兴趣的朋友都可以去尝试一下,此题还有其他更多的解法,朋友们可以自己逐一尝试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徐年の博客!








