题解 | #牛的生长情况#
牛的生长情况
https://www.nowcoder.com/practice/5f67258999bd4e61a361f4d3017a3fd4
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param weights int整型一维数组 * @return int整型一维数组 */ public int[] weightGrowth (int[] weights) { // write code here //单调栈,保持单调递增 Stack<Integer> stack = new Stack<>(); int n = weights.length; int[] res = new int[n]; for (int i = 0; i < n; i++) { while(!stack.isEmpty() && weights[i] > weights[stack.peek()]){ res[stack.peek()] = i - stack.pop(); } stack.push(i); } while(!stack.isEmpty()){ res[stack.pop()] = -1; } return res; } }