网易首页 > 网易号 > 正文 申请入驻

一道简单题背后的算法思维:三数取大不用遍历

0
分享至

刷过LeetCode的人大概都遇到过这种情况:题目标着"Easy",点进去发现边界条件比主逻辑还复杂。第414题"Third Maximum Number"就是典型——看似只是找第三大的数,但"distinct"这个限定词让事情变得微妙起来。

题目要求很明确:给定整数数组,返回第三大的不同数字。如果不存在第三大的不同数字,就返回最大值。示例很直观:[3,2,1]返回1,[1,2]因为只有两个不同数字,返回2。但实现时很多人栽在同一个坑里:数组下标从0开始,长度从1开始,这个基础概念在边界判断时特别容易混淆。


最直观的解法是用排序加去重。先把数组升序排列,再用stream的distinct操作过滤重复元素,转成新数组。这时候逻辑就清晰了:去重后的数组长度小于3,直接返回最后一个元素(即最大值);长度大于等于3,返回倒数第三个元素。时间复杂度O(nlogn),空间复杂度O(n),对于Easy题目完全够用。


代码实现很简洁。Arrays.sort处理排序,Arrays.stream配合distinct和toArray完成去重转换。核心判断只有两行:uniqueArr.length小于3时返回uniqueArr[uniqueArr.length-1],否则返回uniqueArr[uniqueArr.length-3]。这里没有遍历找最大值的繁琐,也没有维护三个变量的复杂状态机,而是利用排序后的有序性直接定位。

这种思路的代价是额外的空间开销。如果追求O(1)空间,可以用三指针法遍历一次数组,维护first、second、third三个变量,遇到更大的数就逐级替换。但代码复杂度会显著上升,需要处理重复值的跳过逻辑和初始值的边界情况。面试场景下,先写出清晰正确的排序解法,再讨论优化空间,往往是更稳妥的策略。


这道题的真正价值在于提醒我们:算法题的难度标签不代表思维难度,而是代码复杂度。Easy题考察的是对问题本质的理解和边界条件的把控,而非炫技式的优化。当你下次看到"简单"标签时,不妨多留个心眼——那些藏在细节里的陷阱,才是出题人真正想测试的东西。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
52岁董卿重庆聚餐容颜依旧,婚姻状况稳定

52岁董卿重庆聚餐容颜依旧,婚姻状况稳定

罐头告诉猫迷
2026-05-16 10:04:27
雷霆官方预热VS马刺!西部冠军概率OKC达69% 常规赛1胜4负无碍?

雷霆官方预热VS马刺!西部冠军概率OKC达69% 常规赛1胜4负无碍?

颜小白的篮球梦
2026-05-16 12:44:04
国宴上一杯黄水引发全美争议,特朗普精心布局,中美角力远未落幕

国宴上一杯黄水引发全美争议,特朗普精心布局,中美角力远未落幕

阿凡说剧
2026-05-16 10:22:20
新婚15天就爆不伦!日谐星床战照外泄 人妻私讯「穿最色内裤」求欢

新婚15天就爆不伦!日谐星床战照外泄 人妻私讯「穿最色内裤」求欢

ETtoday星光云
2026-05-14 15:58:05
上不了台面?方媛凌晨2点硬刚全网,8年天王嫂遮羞布被彻底撕开

上不了台面?方媛凌晨2点硬刚全网,8年天王嫂遮羞布被彻底撕开

手工制作阿歼
2026-05-15 18:49:16
马斯克面前摆了9个杯子?这不是炫富,这是顶级国宴的通关文牒

马斯克面前摆了9个杯子?这不是炫富,这是顶级国宴的通关文牒

西楼知趣杂谈
2026-05-16 06:20:14
黄仁勋现身遭大量市民围堵合影!现场寸步难行,保镖竟束手无策

黄仁勋现身遭大量市民围堵合影!现场寸步难行,保镖竟束手无策

烈史
2026-05-16 10:27:45
捅破天了!董宇辉的新主播竟是新华网前主持,直播行业告别低门槛

捅破天了!董宇辉的新主播竟是新华网前主持,直播行业告别低门槛

火山詩话
2026-05-16 06:52:14
巴洛特利公开新恋情:女友小他7岁,在迪拜担任媒体公司经理

巴洛特利公开新恋情:女友小他7岁,在迪拜担任媒体公司经理

懂球帝
2026-05-16 10:21:38
77岁曹查理独居东莞租房:拍三级片赚了几千万,如今一套房都没留

77岁曹查理独居东莞租房:拍三级片赚了几千万,如今一套房都没留

飘飘然的娱乐汇
2026-05-14 21:50:07
外资疯涌中国!被印度越南“上了一课”后,全球资本终于醒了

外资疯涌中国!被印度越南“上了一课”后,全球资本终于醒了

老特有话说
2026-05-15 15:54:17
北京输球真凶曝光!不是周琦扣飞,是他亲手葬送20分逆转

北京输球真凶曝光!不是周琦扣飞,是他亲手葬送20分逆转

涵有话说
2026-05-16 10:57:15
央视拿下2026年美加墨世界杯版权!知名主持韩乔生喊话“妥了”,中国球迷可在家看世界杯了

央视拿下2026年美加墨世界杯版权!知名主持韩乔生喊话“妥了”,中国球迷可在家看世界杯了

新民晚报
2026-05-15 15:45:13
香港回归前,英国同美国欲用48枚原子弹铲平中国,老一辈决策太牛

香港回归前,英国同美国欲用48枚原子弹铲平中国,老一辈决策太牛

云霄纪史观
2026-05-15 01:53:01
DeepSeek分析:退休后最好的活法,不是养生或旅游,而是这5件事

DeepSeek分析:退休后最好的活法,不是养生或旅游,而是这5件事

混沌录
2026-05-11 22:13:07
河南男子狂犬病发作去世,生前已打3针疫苗,为什么人还是走了

河南男子狂犬病发作去世,生前已打3针疫苗,为什么人还是走了

39健康网
2026-05-15 18:30:57
医生发现:每天早起后先排便的人,用不了半年身体或迎来5改变

医生发现:每天早起后先排便的人,用不了半年身体或迎来5改变

垚垚分享健康
2026-05-15 16:59:08
陪玩陪睡根本不够!认干爹、舔手指,背地里的阴暗面完全藏不住了

陪玩陪睡根本不够!认干爹、舔手指,背地里的阴暗面完全藏不住了

杰丝聊古今
2026-05-03 13:35:27
提醒广东退休老人:尽快完成社区登记,这些福利待遇才能正常享受

提醒广东退休老人:尽快完成社区登记,这些福利待遇才能正常享受

宝哥精彩赛事
2026-05-16 13:25:51
从傲慢到沉默再到承认,三天中国行后,鲁比奥给了解放军一个排名

从傲慢到沉默再到承认,三天中国行后,鲁比奥给了解放军一个排名

小樾说历史
2026-05-16 11:17:23
2026-05-16 15:40:49
固件更新中
固件更新中
有态度网友ytd
3776文章数 33关注度
往期回顾 全部

科技要闻

涨的是车价,要的是老命

头条要闻

"企二代"国宴与马斯克同席 接班9年公司营收超2000亿

头条要闻

"企二代"国宴与马斯克同席 接班9年公司营收超2000亿

体育要闻

马刺2号,少年老成,这集看过?

娱乐要闻

张嘉译和老婆的差距让人心酸

财经要闻

造词狂魔贾跃亭

汽车要闻

高尔夫GTI刷新纽北纪录 ID. Polo GTI迎全球首秀

态度原创

家居
房产
亲子
艺术
健康

家居要闻

110㎡淡而有致的生活表达

房产要闻

老黄埔热销之下,珠江春,为何去化仅3成?

亲子要闻

国外的婴儿预防针,居然是打腿上的,关键打针的方法高超!

艺术要闻

19位当代画家油画作品欣赏

专家揭秘干细胞回输的安全风险

无障碍浏览 进入关怀版