题目描述:
https://nanti.jisuanke.com/t/T1437
思路题解
此题不难,但是有2个很坑的地方:
- n=1时,只输出输出第一个数a[0];
- 且不存在最大值和次大值相同的情况,例如数组是1,1,1,1,1,这种情况默认不存在
代码
package main
import (
"bufio"
"fmt"
"math"
"os"
"strconv"
"strings"
)
func main(){
var n int
var max = math.Inf(-1)
var smax = math.Inf(-1)
fmt.Scanf("%d\n",&n)
in:=bufio.NewScanner(os.Stdin)
if in.Scan(){
a:=strings.Split(in.Text()," ")
if n==1{
fmt.Printf("%v",a[0])
return
}
for i:=0;i<n;i++{
k,_:=strconv.Atoi(a[i])
if k>int(max){
smax=max
max=float64(k)
}else if k>int(smax)&&k<int(max){
smax=float64(k)
}
}
}
fmt.Println(max,smax)
}