news 2026/7/1 19:15:29

LC.414 | 第三大的数 | 数组 | 一次遍历维护三个最大值(去重)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LC.414 | 第三大的数 | 数组 | 一次遍历维护三个最大值(去重)

输入:非空整数数组nums(可能包含重复元素)。

要求:返回数组中第三大的不同数字;如果不存在第三大的不同数字,则返回数组中的最大值。

输出:整数(第三大或最大值)。


思路:

题眼是“第三大”指的是不同数字的第三大,所以必须去重

用一次遍历维护三个变量:

  • max1:当前最大值
  • max2:当前第二大(不同值)
  • max3:当前第三大(不同值)

初始化都为LLONG_MIN,避免数组里有INT_MIN时冲突。

遍历每个元素v时:

  1. 先去重:如果v等于max1/max2/max3,直接跳过。
  2. 然后把v放进这三个槽位里(类似插入排序的三格版):
    • v > max1:整体后移:max3=max2, max2=max1, max1=v
    • 否则如果v > max2max3=max2, max2=v
    • 否则如果v > max3max3=v

遍历结束:

  • 如果max3还是没被填过(仍为LLONG_MIN),说明不足三个不同数,返回max1
  • 否则返回max3

复杂度:

  • 时间复杂度:O(N)
  • 空间复杂度:O(1)

classSolution{public:intthirdMax(vector<int>&nums){longlongmax1=LLONG_MIN,max2=LLONG_MIN,max3=LLONG_MIN;for(intx:nums){longlongv=x;// 去重:只统计“不同数字”的排名if(v==max1||v==max2||v==max3)continue;if(v>max1){max3=max2;max2=max1;max1=v;}elseif(v>max2){max3=max2;max2=v;}elseif(v>max3){max3=v;}}return(max3==LLONG_MIN)?(int)max1:(int)max3;}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 9:25:58

LangFlow法律咨询机器人开发实战

LangFlow法律咨询机器人开发实战 在智能客服系统日益普及的今天&#xff0c;一个常见的痛点浮出水面&#xff1a;用户问“公司不交社保&#xff0c;我能辞职并要赔偿吗&#xff1f;”——传统问答机器人要么答非所问&#xff0c;要么给出模糊建议。而专业律师又无法724小时在线…

作者头像 李华
网站建设 2026/6/13 7:37:50

树莓派5调试技巧:使用JTAG与GDB联合调试

树莓派5调试实战&#xff1a;用JTAGGDB穿透内核黑盒你有没有遇到过这种情况——树莓派5上电后串口一片寂静&#xff0c;什么输出都没有&#xff1f;或者系统在启动到一半时突然“卡死”&#xff0c;日志停在某个神秘的函数调用前再也不动了&#xff1f;这时候&#xff0c;靠pri…

作者头像 李华
网站建设 2026/7/1 9:25:00

Python管理S5735S-S24T4S-XA

文章目录 一、核心前提:交换机基础配置(必须先完成) 二、Python核心库选型 库安装命令 三、Python实操案例(覆盖VLAN管理核心场景) 案例1:SSH连接交换机,查询VLAN配置(故障排查基础) 案例2:通过SSH配置VLAN(创建/删除/修改) 案例3:配置Trunk端口与Access端口(VLA…

作者头像 李华
网站建设 2026/7/1 20:00:12

LangFlow作业批改辅助系统设计思路

LangFlow作业批改辅助系统设计思路 在智能教育工具不断演进的今天&#xff0c;一个现实问题正困扰着一线教师&#xff1a;如何在不牺牲教学质量的前提下&#xff0c;高效处理海量学生作业&#xff1f;尤其面对开放性问答题时&#xff0c;人工批改耗时费力&#xff0c;而传统自动…

作者头像 李华
网站建设 2026/6/25 4:08:24

【AI工程化新里程碑】:Open-AutoGLM 沉思版如何实现90%任务全自动闭环?

第一章&#xff1a;AI工程化新里程碑的背景与意义人工智能技术在过去十年中取得了突破性进展&#xff0c;从学术研究逐步走向工业级应用。这一转变催生了“AI工程化”的概念&#xff0c;即将AI模型开发、部署、监控和迭代过程系统化、标准化&#xff0c;以支撑大规模生产环境下…

作者头像 李华
网站建设 2026/7/1 16:03:06

企业环境下的部署挑战:批量安装Multisim于Win10与Win11策略对比

企业级EDA工具部署实战&#xff1a;如何高效批量安装Multisim于Win10与Win11共存环境在一家中型电子研发企业的IT运维中心&#xff0c;系统管理员李工正面临一个棘手问题&#xff1a;公司新采购的50台高性能工作站已全面预装Windows 11&#xff0c;而原有的200多台工程师终端仍…

作者头像 李华