File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed
Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ ```java
2+ import java.io.BufferedReader;
3+ import java.io.InputStreamReader;
4+ import java.util.*;
5+
6+ public class Main {
7+
8+ public static void main(String[] args) throws Exception {
9+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+ StringTokenizer st;
11+ StringBuilder sb = new StringBuilder();
12+
13+ int n = Integer.parseInt(br.readLine());
14+ int[] tower = new int[n];
15+ int[] answer = new int[n];
16+ Deque<int[]> list = new ArrayDeque<>();
17+
18+ st = new StringTokenizer(br.readLine());
19+ for (int i = 0; i < n; i++) {
20+ tower[i] = Integer.parseInt(st.nextToken());
21+ }
22+
23+ for (int i = 0; i < n; i++) {
24+ int h = tower[i];
25+
26+ while (!list.isEmpty() && list.peek()[1] < h) {
27+ list.pop();
28+ }
29+
30+ answer[i] = list.isEmpty() ? 0 : list.peek()[0];
31+
32+ list.push(new int[]{i + 1, h});
33+ }
34+
35+ for (int i = 0; i < n; i++) {
36+ sb.append(answer[i] + " ");
37+ }
38+
39+ System.out.println(sb.toString());
40+ }
41+ }```
You can’t perform that action at this time.
0 commit comments