每日一题 【每日一题】数组中第二大的数-Python-20210825

Jack · 2021年08月25日 · 最后由 lework 回复于 2021年12月11日 · 99 次阅读
本帖已被设为精华帖!
  1. 问题描述:在一个数组里找到第 2 大的数。
  2. 问题示例: 输入: [1, 3, 2, 4] 输出:3

输入: [1, 2] 输出: 1

Jack 将本帖设为了精华贴 08月25日 21:42

参考代码:

class Solution:
    def secondMax(self, nums):
        maxValue = max(nums[0], nums[1])
        secValue = min(nums[0], nums[1])
        for i in range[2, len(nums)]:
            if nums[i] > maxValue:
                secValue = maxValue
                maxValue = nums[i]
            elif nums[i] > secValue:
                secValue = nums[i]
        return secValue
package main

import "fmt"

func max(x, y int64) int64{
    if x > y {
        return x
    }
    return y
}

func min(x, y int64) int64{
    if x < y {
        return x
    }
    return y
}

func main() {
    /*
    问题描述:在一个数组里找到第 2 大的数。
    问题示例: 输入: [1, 3, 2, 4] 输出:3
    输入: [1, 2] 输出: 1
    */


    var (
        a = []int64{1,3,2,4}
    )
    maxValue := max(a[0], a[1])
    secValue := min(a[0], a[1])

    for i := 2; i < len(a); i++ {
        if a[i] > maxValue {
            secValue = maxValue
            maxValue = a[i]
        } else if a[i] > secValue {
            secValue = a[i]
        }
    }
    fmt.Println(secValue)
}

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册