力扣334.递增的三元子序列
分享一种非递归的方法以及一种贪心的方法优第一种是自己想的方法一思路先找最大数A如果最大数左边没有两个数删除最大数A。继续寻找最大数A再找最大数左边最大的数B如果最大数B在最左边删除这个数B。如果不在最左边说明该数列存在递增的三元子序列。解题过程这段代码的思路是反复裁剪列表试图找到三个呈严格递增趋势的数。具体逻辑如下持续循环直到列表长度不足 3每次循环先做快速否决如果用集合去重后不同元素少于 3 个直接返回 False因为严格递增需要至少三个不同的数。定位当前列表的最大值找出最大值及其第一次出现的位置索引 max_index。根据最大值的位置分情况处理如果最大值左边至少有两个元素 (max_index 1)在最大值左边的切片中再找一个最大值并获取该值在整个当前列表中第一次出现的位置 max_index_left。若 max_index_left 0说明这个“左边最大值”不在列表最开头它的左边至少还有一个元素。这时认为已经找到一组候选三元组最左侧有数 ≤ 左边最大值加上左边最大值再加上全局最大值直接跳出循环准备返回 True。若 max_index_left 0左边最大值正好在列表最左端无法在它左边找到更小的数因此当前的最大值无法与左边的数构成有效三元组。于是删除列表的第一个元素开启下一轮循环。如果最大值左边不足两个元素 (max_index 1)当前最大值无法作为三元组的结尾直接删除这个最大值继续循环。最终判断循环可能因为 break 退出找到了结构也可能因为列表被删到不足 3 个元素而自然结束。如果退出后列表长度仍 ≥ 3说明找到了符合条件的结构返回 True否则返回 False。Python代码class Solution: def increasingTriplet(self, nums: List[int]) - bool: while len(nums) 3: if len(set(nums))3: return False max_index, max_num nums.index(max(nums)), max(nums) if max_index 1: max_index_left, max_num_left nums.index(max(nums[:max_index])), max( nums[:max_index]) if max_index_left 0: break else: del nums[0] else: del nums[max_index] if len(nums) 3: return True else: return False方法二贪心解法、好思路解释我们只需要知道是否存在递增的三个数不需要输出它们具体是谁。维护两个变量first当前遇到的最小值second在某个first之后出现的大于first的最小值遍历数组时对于每个数x若x first更新first x。first总是尽可能小为后面的second留出更大空间。若x first且x second更新second x。second表示在某个first后出现的、比first大的最小数。若x second说明存在一个数first second x返回True。如果遍历完都没找到返回False。Python代码时间n空间1class Solution: def increasingTriplet(self, nums: List[int]) - bool: first float(inf) second float(inf) for x in nums: if x first: # 小于等于 first更新 first尽量小 first x elif x second: # 大于 first 但小于等于 second更新 second second x else: # x second找到递增三元组 return True return False

相关新闻

如何让Mac Boot Camp驱动部署像呼吸一样简单?

如何让Mac Boot Camp驱动部署像呼吸一样简单?

如何让Mac Boot Camp驱动部署像呼吸一样简单? 【免费下载链接】brigadier Fetch and install Boot Camp ESDs with ease. 项目地址: https://gitcode.com/gh_mirrors/bri/brigadier 想象一下:你刚在Mac上安装了Windows系统,准备开始工…

2026/7/1 17:01:17阅读更多 →
嵌入式高手都在偷偷用的“第15条”:用 __attribute__((cleanup)) 在 C 语言里优雅地自动释放资源

嵌入式高手都在偷偷用的“第15条”:用 __attribute__((cleanup)) 在 C 语言里优雅地自动释放资源

该文章同步至OneChan 你有没有经历过:在函数里加了锁,却因为中途 return 或 goto 提前退出,锁永远没释放,整个系统活活卡死? 这是资深工程师压箱底的编程技巧系列第十五篇。前面我们学会了用 constructor 在 main() 之…

2026/7/1 17:01:17阅读更多 →
网易云音乐直链解析API深度解析:从原理到实战的完整指南

网易云音乐直链解析API深度解析:从原理到实战的完整指南

网易云音乐直链解析API深度解析:从原理到实战的完整指南 【免费下载链接】netease-cloud-music-api 网易云音乐直链解析 API 项目地址: https://gitcode.com/gh_mirrors/ne/netease-cloud-music-api 在当今音乐流媒体服务蓬勃发展的时代,开发者经…

2026/7/1 16:56:16阅读更多 →
山西干冰酒店烟雾

山西干冰酒店烟雾

引言近年来,高端酒店、宴会厅、音乐会及婚礼庆典中,常利用干冰营造如梦似幻的舞台烟雾效果,极大提升现场氛围。然而,干冰(固态二氧化碳)在使用过程中潜藏着低温冻伤、二氧化碳浓度超标的隐患,对…

2026/7/1 18:11:26阅读更多 →
开源版Coze:Agent三件套48小时狂揽9K星

开源版Coze:Agent三件套48小时狂揽9K星

拆箱开源版Coze:Agent核心三件套大公开,48小时揽下9K Star 🔥你还在为搭建智能体疯狂加班?开源圈炸了!一个叫Dify的项目,48小时狂揽9K Star,直接把Coze的"核心三件套"搬到了你的本地服…

2026/7/1 18:11:26阅读更多 →
微信聊天记录删了怎么找回?5 套官方恢复教程,零基础一看就会

微信聊天记录删了怎么找回?5 套官方恢复教程,零基础一看就会

日常使用微信时,很多人会因清理会话、误操作、手机故障、更换新机等情况丢失重要聊天记录,工作合同沟通记录、家人生活照片、转账凭证、关键文件一旦删除,很难直接找回。根据腾讯官方公开的数据存储说明,微信不会在云端永久存储用…

2026/7/1 18:11:26阅读更多 →
实战案例类: 从8%到35%:某电销团队提升机器人外呼接通率的实战案例复盘

实战案例类: 从8%到35%:某电销团队提升机器人外呼接通率的实战案例复盘

#### Part 1: 故事引入:一个“濒临解散”的电销团队 “如果再看不到效果,下个月整个外呼部门可能就要被裁掉了。”——这是某互联网教育公司电销负责人张磊,在2023年初面临的困境。 他们的团队有20名全职电销员,每人每天最多打150…

2026/7/1 18:11:26阅读更多 →
HarmonyOS7 购物车看着简单最容易翻车:增删改、全选、价格计算一篇讲透

HarmonyOS7 购物车看着简单最容易翻车:增删改、全选、价格计算一篇讲透

文章目录前言购物车数据模型全选与反选逻辑数量步进器滑动删除价格计算完整页面拼装一些实用建议前言 购物车这个页面,看着简单,做起来坑真不少。增删改查、全选反选、滑动删除、实时价格计算——每个功能单独拎出来都不难,凑一块儿状态管理…

2026/7/1 18:11:26阅读更多 →
实用小工具上线!BlockSec USDT拉黑查询网站,一键核验地址冻结状态

实用小工具上线!BlockSec USDT拉黑查询网站,一键核验地址冻结状态

在USDT交易中,地址冻结、解冻状态查询是用户高频刚需,却长期受困于传统渠道短板——TronScan、Etherscan 无相关展示功能,个别企业级KYT工具又缺乏便捷查询入口。下面就为大家详细拆解网站四个页面。 1. Overview:全局数据一键预…

2026/7/1 18:06:24阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/1 4:42:14阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/1 5:19:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →