栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java中查找数组中的第二大数字?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Java中查找数组中的第二大数字?

仅对数组进行排序以查找订单统计信息太浪费了。您可以通过遵循与现有算法相似的算法找到第二大元素,并使用一个代表第二大数字的附加变量。

当前,下一个元素可以大于最大值或等于/小于最大值,因此单个元素就

if
足够了:

if (times[i] > maxValue) {    maxValue = times[i];}

考虑两个变量,下一个元素可能是

  • 大于最大值 -最大值变为第二大,而下一个元素变为最大值
  • 小于最大值但大于第二大 元素-下一个元素将成为第二大元素。

必须特别注意初始状态。查看前两项,然后将较大的项分配给

max
,将较小的项分配给第二大;如果有一个元素,则从第三个元素开始循环。

这是您如何编码它:

if (times[i] > maxValue) {    secondLargest = maxValue;    maxValue = times[i];} else if (times[i] > secondLargest) {    secondLargest = times[i];}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号