Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- class Solution {
- public List<Integer> findBuildingViewCount(int[] heights) {
- int left = 0, right = heights.length - 1;
- Deque<Integer> deque = new ArrayDeque<>();
- deque.addFirst(left);
- deque.addLast(right);
- while (left < right) {
- if (heights[left] < heights[right]) {
- left++;
- if (heights[left] > heights[deque.peekFirst()]) {
- deque.addFirst(left);
- }
- } else {
- right--;
- if (heights[right] > heights[deque.peekLast()]) {
- deque.addLast(right);
- }
- }
- }
- return new ArrayList<>(deque);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement