题目描述
给一定一个数组,每个位置的美好值是离该位置最近的且下标小于该位置,值小于等于该值的值,若没有则为0。求所有位置的美好值总和。
输入描述
题面描述
给定一个长度为n的数组,每个元素的“美好值”是该位置之前最近的、值小于等于当前值的元素,如果没有这样的元素,则美好值为0。最终要求计算所有位置的美好值总和。输入格式为第一行一个整数n,表示数组长度,第二行包含n个整数,表示数组元素。输出为一个整数,表示美好值的总和。
思路:单调栈
本题题目意思可以转为找到左边第一个比它小的数,因此可以使用单调栈来求解该问题
题解