Golang | Leetcode Golang题解之第354题俄罗斯套娃信封问题

题目:

题解:

Go 复制代码
func maxEnvelopes(envelopes [][]int) int {
    n := len(envelopes)
    if n == 0 {
        return 0
    }

    sort.Slice(envelopes, func(i, j int) bool {
        a, b := envelopes[i], envelopes[j]
        return a[0] < b[0] || a[0] == b[0] && a[1] > b[1]
    })

    f := make([]int, n)
    for i := range f {
        f[i] = 1
    }
    for i := 1; i < n; i++ {
        for j := 0; j < i; j++ {
            if envelopes[j][1] < envelopes[i][1] {
                f[i] = max(f[i], f[j]+1)
            }
        }
    }
    return max(f...)
}

func max(a ...int) int {
    res := a[0]
    for _, v := range a[1:] {
        if v > res {
            res = v
        }
    }
    return res
}
相关推荐
qq_513970447 小时前
力扣 hot100 Day37
算法·leetcode
不見星空7 小时前
leetcode 每日一题 1865. 找出和为指定值的下标对
算法·leetcode
chao_78911 小时前
回溯题解——子集【LeetCode】二进制枚举法
开发语言·数据结构·python·算法·leetcode
GEEK零零七11 小时前
Leetcode 1070. 产品销售分析 III
sql·算法·leetcode
凌肖战11 小时前
力扣网编程274题:H指数之普通解法(中等)
算法·leetcode
不老刘13 小时前
基于LiveKit Go 实现腾讯云实时音视频功能
golang·腾讯云·实时音视频
Y1nhl14 小时前
力扣_链表_python版本
开发语言·python·算法·leetcode·链表·职场和发展
Swift社区16 小时前
Swift 解 LeetCode 320:一行单词有多少种缩写可能?用回溯找全解
开发语言·leetcode·swift
YuTaoShao1 天前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
简佐义的博客1 天前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang