Re: [闲聊] leetcode 大师请进

楼主: Rushia (みけねこ的鼻屎)   2024-05-06 22:16:29
※ 引述《ZooseWu (动物园 公告)》之铭言:
: 帮我解题
: 我有一组不重复的正整数一维阵列
: 每次行动可以将某个数字插入另一个数字的后面
: 行动以一个长度为二的阵列[a, b]表示 a 插入 b 后面
: 如果元素要放到开头就以插入 0 表示
: 求最小行动数的二维阵列
: ex:
: 题目: [1, 3, 7, 9, 5, 2]
: 答: [[2, 1], [5, 3]]
: 题目: [9, 7, 5, 3, 1]
: 答: [[1, 0], [3, 1], [5, 3], [7, 5]]
: 或是 [[7, 0], [5, 0], [3, 0], [1, 0]]
: 题目的阵列长度是三位数
: 元素都是正整数(其实没差,不过限定正整数比较好设定排头)
1.先把阵列分成两堆,递增的记住他们的索引变一个单调堆叠,非递增的记住他们的值。
2.把非递增的值排序。
3.从最大数字x开始处理非递增的值,如果stack顶端大于x就把顶端元素pop,如果比较小
就表示要插到顶端的右边,如果单调堆叠已经空就插到0,因为是从大的元素开始插入
所以右边的索引变怎样就不用管了。
py code
作者: wu10200512 (廷廷)   2024-05-06 22:17:00
大师
作者: sustainer123 (caster)   2024-05-06 22:18:00
大师
作者: JerryChungYC (JerryChung)   2024-05-06 22:18:00
大师
作者: digua (地瓜)   2024-05-06 22:19:00
大师
作者: DJYOSHITAKA (Evans)   2024-05-06 22:20:00
大师==
作者: JIWP (JIWP)   2024-05-06 22:22:00
大师
作者: pandix (面包屌)   2024-05-06 22:26:00
这样写好像找不到最长
楼主: Rushia (みけねこ的鼻屎)   2024-05-06 22:30:00
啥意思
作者: pandix (面包屌)   2024-05-06 22:33:00
我想想 你试试[1,7,9,2,3,4] 这组测资
楼主: Rushia (みけねこ的鼻屎)   2024-05-06 22:46:00
大概懂你意思了 那可能s要写一个找LIS的 不知道有没有更简单的作法
作者: pandix (面包屌)   2024-05-06 22:53:00
对应该是要找LIS== 我刚也想成要用monotonic stack了
作者: oinishere (是oin捏)   2024-05-06 23:33:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com