mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-24 02:14:00 +08:00
14 lines
327 B
Go
14 lines
327 B
Go
package leetcode
|
|
|
|
// 单调栈
|
|
func mostCompetitive(nums []int, k int) []int {
|
|
stack := make([]int, 0, len(nums))
|
|
for i := 0; i < len(nums); i++ {
|
|
for len(stack)+len(nums)-i > k && len(stack) > 0 && nums[i] < stack[len(stack)-1] {
|
|
stack = stack[:len(stack)-1]
|
|
}
|
|
stack = append(stack, nums[i])
|
|
}
|
|
return stack[:k]
|
|
}
|