3542. 将所有元素变为 0 的最少操作次数

func minOperations(nums []int) (ans int) {
    stack := make([]int, 0, len(nums))
    for _, num := range nums {
        for len(stack) > 0 && stack[len(stack) - 1] > num {
            stack = stack[:len(stack) - 1]
        }
        if num == 0 {
            continue
        }
        if len(stack) == 0 || stack[len(stack) - 1] < num {
            ans++
            stack = append(stack, num)
        }
    }
    return
}