C语言 | Leetcode C语言题解之第354题俄罗斯套娃信封问题

题目:

题解:

cpp 复制代码
int cmp(int** a, int** b) {
    return (*a)[0] == (*b)[0] ? (*b)[1] - (*a)[1] : (*a)[0] - (*b)[0];
}

int maxEnvelopes(int** envelopes, int envelopesSize, int* envelopesColSize) {
    if (envelopesSize == 0) {
        return 0;
    }

    qsort(envelopes, envelopesSize, sizeof(int*), cmp);

    int n = envelopesSize;
    int f[n];
    for (int i = 0; i < n; i++) {
        f[i] = 1;
    }
    int ret = 1;
    for (int i = 1; i < n; ++i) {
        for (int j = 0; j < i; ++j) {
            if (envelopes[j][1] < envelopes[i][1]) {
                f[i] = fmax(f[i], f[j] + 1);
            }
        }
        ret = fmax(ret, f[i]);
    }
    return ret;
}
相关推荐
IT方大同1 小时前
(实时操作系统)线程管理
c语言·开发语言·嵌入式硬件
_日拱一卒2 小时前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
老约家的可汗3 小时前
list 容器详解:基本介绍与常见使用
c语言·数据结构·c++·list
mifengxing3 小时前
力扣HOT100——(1)两数之和
java·数据结构·算法·leetcode·hot100
Z.风止3 小时前
Large Model-learning(2)
开发语言·笔记·python·leetcode
爱编码的小八嘎4 小时前
C语言完美演绎6-10
c语言
AlenTech4 小时前
139. 单词拆分 - 力扣(LeetCode)
算法·leetcode·职场和发展
3壹4 小时前
STM32按键检测与上拉电阻详解
c语言·stm32·嵌入式硬件
AI+程序员在路上5 小时前
新手进入嵌入式行业方法与方向选择
c语言·开发语言·单片机·嵌入式硬件
always_TT5 小时前
栈内存 vs 堆内存:区别与使用场景
c语言