文章目录
- LeetCode?启动!!!
- 题目:找出最具竞争力的子序列
- 题目描述
- 代码与解题思路
- 每天进步一点点
LeetCode?启动!!!
题目:找出最具竞争力的子序列
题目链接:1673. 找出最具竞争力的子序列
题目描述
代码与解题思路
核心原理看注释,因为题目要求的是第一个子序列数最低的子序列,所以越靠前的数权重越大,因此可以贪心(就题论题)
只要保证越前面的数越小即可
func mostCompetitive(nums []int, k int) []int {st := []int{}for i, v := range nums {// 保证下一个子序列数 <= 当前子序列数(否则就有更优解,出栈)// 保证 nums 剩下的数足够 k 个for len(st) > 0 && st[len(st)-1] > v && len(nums)-i > k-len(st) {st = st[:len(st)-1]}if len(st) < k {st = append(st, v)}}return st
}
每天进步一点点
可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。