题目描述
在学校中,有 (N) 个小朋友站成一队,每个小朋友的身高分别为 (height[i])。对于每个小朋友 (i),需要找到站在其右边((j > i))且第一个比 (height[i]) 身高更高的小朋友 (j),如果存在这样的小朋友 (j),那么 (j) 就是小朋友 (i) 的好朋友。否则,如果没有找到这样的好朋友,则输出 (0)。
输入输出格式
输入描述
- 第一行输入一个整数 (N),表示小朋友的数量。
- 第二行输入 (N) 个整数,表示每个小朋友的身高,身高之间用空格分隔。
输出描述
- 输出一个长度为 (N) 的数组,数组中每个元素表示对应小朋友的好朋友位置,若找不到则输出0。
示例
- 输入:
8 123 124 125 121 119 122 126 123
- 输出:
1 2 6 5 5 6 0 0
解题思路
栈解法
栈解法是一种