• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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语言程序设计有所帮助。

    您可能感兴趣的文章:
    • Go语言实现的树形结构数据比较算法实例
    • Golang算法问题之数组按指定规则排序的方法分析
    • Golang排列组合算法问题之全排列实现方法
    • 详解Go语言运用广度优先搜索走迷宫
    上一篇:Go语言实现冒泡排序、选择排序、快速排序及插入排序的方法
    下一篇:Go语言文件操作的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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