一个正整数数组,求出每个元素和后面第一个值比它大的数字之间的间隔,没有则为-1
具体的想法是利用栈存储数组下标,遍历数组,如果数组中的第i元素比数组中(栈顶元素作为下标)的元素大,那么首先结果数组中的(栈顶元素作为下标)的值为i-stack.pop(),这里同时执行出栈操作,继续循环,遍历完数组后,对栈中剩余元素下标 在结果数组处赋值 public static int[] getArr(int[] nums) { int[] newArr = new int[nums.length]; Stack<Integer> stack =
原创
2022-03-08 15:51:24 ·
398 阅读 ·
1 评论