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

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

本文实例讲述了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语言,数组,方法
0
投稿

猜你喜欢

  • 列举Python中吸引人的一些特性

    2023-12-17 03:25:57
  • python 浮点数四舍五入需要注意的地方

    2021-11-04 04:37:56
  • java代码实现mysql分表操作(用户行为记录)

    2024-01-17 22:57:09
  • PyTorch 解决Dataset和Dataloader遇到的问题

    2023-10-14 04:37:50
  • vue-week-picker实现支持按周切换的日历

    2024-04-30 10:16:23
  • 详解Python查找谁删了你的微信

    2021-01-02 02:32:02
  • BootstrapTable+KnockoutJS相结合实现增删改查解决方案(三)两个Viewmodel搞定增删改查

    2024-04-28 09:36:56
  • python处理emoji表情(两个函数解决两者之间的联系)

    2022-12-03 18:51:12
  • 深入理解Python中的元类(metaclass)

    2021-02-25 22:10:00
  • MySQL中连接查询和子查询的问题

    2024-01-19 04:27:32
  • Python 列表和字典常踩坑即解决方案

    2021-05-01 17:45:25
  • Javascript学习第一季 二

    2008-06-24 18:20:00
  • Pytorch 如何训练网络时调整学习率

    2022-01-31 20:08:48
  • 利用Python开发一个自动答题程序

    2022-12-31 10:33:16
  • asp数组使用特法

    2009-05-11 12:43:00
  • JS数组遍历中for,for in,for of,map,forEach各自的使用方法与优缺点

    2024-05-02 16:15:45
  • 微信跳一跳php代码实现

    2024-06-05 09:46:20
  • Python生成pdf目录书签的实例方法

    2023-10-11 15:43:21
  • 利用nohup来开启python文件的方法

    2023-05-08 07:51:29
  • Python下Fabric的简单部署方法

    2023-11-08 07:17:11
  • asp之家 网络编程 m.aspxhome.com