列表

详情


GP22. 评委打分

描述

小明参加某个歌唱比赛,评委们进行打分,要求去掉最高分,和最低分,将最高分和最低分依次存入切片并返回。

知识点:

goalng, int64最大值,最小值, 大小比较,多返回值

golang中有符号的最大值为math.MaxInt64,最小值为math.MinInt64

切片的遍历有两种方式,for循环和for range循环

示例1

输入:

[1,2,3,4,5,6,7,8,9]

输出:

[1,9]

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Go 解法, 执行用时: 3ms, 内存消耗: 804KB, 提交时间: 2022-06-08

package main

import "sort"

func minAndMax(s []int) []int {
	sort.Ints(s)
	a := s[:1]
	h := len(s)
	b := s[h-1:]
	return append(a, b...)
}

Go 解法, 执行用时: 3ms, 内存消耗: 840KB, 提交时间: 2022-06-07

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 评委给出分数
 * @return int整型一维数组
*/
func minAndMax( s []int ) []int {
	// write code here
	res := []int{}
	min := s[0]
	max := s[0]
	for i := 0; i < len(s); i++ {
		if s[i] > max {
			max = s[i]
		}
		if s[i] < min {
			min = s[i]
		}
	}
	res = append(res, min)
	res = append(res, max)
	return res
}

Go 解法, 执行用时: 3ms, 内存消耗: 840KB, 提交时间: 2022-05-31

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 评委给出分数
 * @return int整型一维数组
*/
func minAndMax( s []int ) []int {
    // write code here
    a := s[0]
    b := s[0]
    var ans []int
    for _, j := range s{
        a = min(a, j)
        b = max(b, j)
    }
    ans = append(ans, a)
    ans = append(ans, b)
    return ans
}

func min(a, b int) int{
    if a < b{
        return a
    }else{
        return b
    }
}


func max(a,b int) int{
    if a>b{
        return a
    }else{
        return b
    }
}

Go 解法, 执行用时: 3ms, 内存消耗: 856KB, 提交时间: 2022-06-21

package main
import "sort"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 评委给出分数
 * @return int整型一维数组
*/
func minAndMax( s []int ) []int {
    // write code here
    sort.Ints(s)
    list := []int{}
    list = append(list, s[0])
    list = append(list, s[len(s)-1])
    return list
}

Go 解法, 执行用时: 3ms, 内存消耗: 860KB, 提交时间: 2022-07-22

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s int整型一维数组 评委给出分数
 * @return int整型一维数组
*/
func minAndMax( s []int ) []int {
    var slice []int
    // write code here
    for i:=0;i<len(s);i++ {
        for j:=0;j<len(s)-i-1;j++ {
            if s[j]>s[j+1] {
                s[j],s[j+1] = s[j+1],s[j]
            }
        }
    }
    slice = append(slice, s[0],s[len(s)-1])
    return slice
}

上一题