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语言程序设计有所帮助。


猜你喜欢
- 在深度学习中,经常需要动态调整学习率,以达到更好地训练效果,本文纪录在pytorch中的实现方法,其优化器实例为SGD优化器,其他如Adam
- 1.socket黏包问题原理黏包:指数据与数据之间没有明确的分界线,导致不能正确的读取数据。应用数据想要发送数据就必须将数据交给操作系统,而
- 1、 HTTP服务器. 2、性能测试工具推荐 3、 图片篇. 4、 如何加载JS,JS应该放在什么位置. 5、 为什么要减少请求数,如何减少
- 废话不多说,直接上代码吧!#python中,while语句用于循环执行程序,即在某个条件下,循环执行某段程序,以处理需要重复处理的相同任务。
- 本文实例讲述了JavaScript导出Excel的方法。分享给大家供大家参考。具体实现方法如下:<html xmlns="h
- Python 中文编码Python 文件中如果未指定编码,在执行过程会出现报错:Python中默认的编码格式是 ASCII 格式,在没修改编
- 这篇文章主要介绍了Python2和Python3中@abstractmethod使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工
- 1.实现效果2.实现代码# 导入所需库from tkinter import *import randomclass main:  
- 本文实例讲述了Python面向对象程序设计。分享给大家供大家参考,具体如下:示例1:#encoding:utf-8''
- 跳转实现思路主程序相当于桌子: import tkinter as tk root = tk.Tk() 而不同的Frame相当于不同的桌布:
- 在使用Matlab肯定会碰到Matlab求解数组中的最大值以及它所在的位置的问题。博主开始用循环的方法找,既浪费时间又消耗资源,后面查找后才
- 简单的 TodoList实现一个简单的 todolist,当我输入内容后,点击提交自动添加在下面,如下图所示:用代码实现这个效果:<d
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- Python 编程中使用 time 模块可以让程序休眠,具体方法是time.sleep(秒数),其中“秒数”以秒为单位,可以是小数,0.1秒
- Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,
- 简介今天试着用ptyhon做了一个抓取网页内容,并生成word文档的功能,功能很简单,做一下记录以备以后用到。生成word用到了第三方组件p
- 本文实例为大家分享了Python3实现购物车功能的具体代码,供大家参考,具体内容如下购物车要求:1、启动程序后,输入用户名密码后,如果是第一
- Inotify地址:访问# -*- coding:utf-8 -*-import osimport pyinotifyfrom functi
- 目录题目描述示例 1:示例 2:示例 3:单向构造(哈希表计数)双向构造(双指针)最后题目描述这是 LeetCode 上的 1743. 从相
- 当你要使用data URI scheme的时候,你会发现,虽然他可以使用在绝大多数浏览器上,但无法再IE6和IE7上工作。不过值得庆幸的这一