网络编程
位置:首页>> 网络编程>> Go语言>> Go语言算法之寻找数组第二大元素的方法

Go语言算法之寻找数组第二大元素的方法

作者:books1958  发布时间:2023-06-24 16:19:03 

标签:Go语言,数组,方法

本文实例讲述了Go语言算法之寻找数组第二大元素的方法。分享给大家供大家参考。具体如下:

该算法的原理是,在遍历数组的时,始终记录当前最大的元素和第二大的元素。示例代码如下:

package demo01 
 
import ( 
    "fmt" 

 
func NumberTestBase() { 
    fmt.Println("This is NumberTestBase") 
 
    nums := []int{12, 24, 2, 5, 13, 8, 7} 
    fmt.Println("nums:", nums) 
    secondMax := getSecondMaxNum(nums) 
    fmt.Println("secondMax=", secondMax) 

 
func getSecondMaxNum(nums []int) int { 
    length := len(nums) 
    if length == 0 { 
        panic("Slice nums cannot be 0-size.") 
    } 
 
    if length == 1 { 
        return nums[0] 
    } 
 
    var max, secondMax int 
    if nums[0] > nums[1] { 
        max = nums[0] 
        secondMax = nums[1] 
    } else { 
        max = nums[1] 
        secondMax = nums[0] 
    } 
 
    for i := 2; i < len(nums); i++ { 
        if nums[i] > secondMax { 
            if nums[i] <= max { 
                secondMax = nums[i] 
            } else { 
                secondMax, max = max, nums[i] 
            } 
        } 
    } 
    return secondMax 
}

希望本文所述对大家的Go语言程序设计有所帮助。

0
投稿

猜你喜欢

  • 上一篇:微软建议的ASP性能优化28条守则(6) 技巧 20:避免在循环语句中使用字符串串联 许多人在循环语句中建立一个字符串,如下所示:
  • Logminer是每个Dba都应熟悉的工具,当一天由于用户的误操作你需要做不完全的恢复时,由于你无法确定这个操作是哪个时间做的,所以这对你的
  • 现在的互联网上已经有很多能帮助设计师们的各种在线生成器,比如:图标(icon)生成器、背景生成器、按钮生成器和标志生成器等。Balkhis曾
  • 本文介绍 SQL Server 2000 企业版的新功能 - 索引视图。讲解索引视图并讨论一些提高性能的具体方案。什么是索引视图?许多年来,
  • ASP里两种常用的生成文件的方式是:利用ADODB.Stream生成文件和利用Scripting.FileSystemObject(fso)
  • 最近看到一个内部项目的插件加载机制,非常赞。当然这里说的插件并不是指的golang原生的可以在buildmode中加载指定so文件的那种加载
  • 发帖或者回帖的时候,系统会提示银两或经验增加的效果,慢慢出现又慢慢消失,用于取代对话框的那种是如何实现的?用google的jquery ap
  • 数据库系统的安全性包括很多方面。由于很多情况下,数据库服务器容许客户机从网络上连接,因此客户机连接的安全对MySQL数据库安全有很重要的影响
  • 写ASP程序时,一般情况总是使用的VBScript,不过也不只是这一种选择,也可以用JScript。但在用JScript作为ASP的语言时,
  • 有这样一类文章标题,喜欢学习的人肯定见过:使用Google的7个技巧Web设计中9个常见的可用性错误Adobe Photoshop 75个技
  • Oracle shutdown的时候突然断电,导致使用sql/plus启动时无法连接到数据库,具体描述为:connection can no
  • 在我们武汉的一个项目中,用户提供的数据库服务器有16G左右的内存,但我们只能使用8G多的内存,为了提高内存的得用率,特意参考了一些资料,得出
  • 论坛经常有人会问到用CSS如何美化Select标签,其实但凡你看到很酷的都是用javascript来实现的。昨天试着做了一下,基本实现的初级
  • 搞前端应该对语义化并不陌生,每天都在说语义化,可什么是语义化,语义化究竟能给我们带来什么好处?参加web标准交流会的时候我向各位同学提出了我
  • 一.雅黑设计理念 雅黑字体是为微软公司设计的屏幕显示汉字。它具有个性独特、结体优美、识别性强、块状效果好、显示清晰等优点。在当今数字化时代更
  • 曾有位网友遇到这样一个问题:产品名称为“A&T Plastic”,在产品列表中需要做这样的超链接,<a href="
  • 前段时间我通过观察韩国网站和其他作品发现了普遍存在黄金分割这样一个规律,不过只跟色相有关,明度、纯度还没做研究,今天看到论坛一篇“网页配色之
  • 可输入的下拉列表框(select),这个不同于网页上常见的下拉列表框,那个是只能选择不能输入的,而这个是可以自己输入文字的。例如:我们最常见
  • 关于建立索引的几个准则:1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。2、索引越多,更新数据的速度越慢
  • 1.了解oracle外部表 外部表定义:结构被存放在数据字典,而表数据被放在OS文件中的表 作用:在数据库中查询OS文件的数据,还可以将OS
手机版 网络编程 asp之家 www.aspxhome.com