Buildings with an ocean view both side view update
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);
}
}
Comments
0 B
|0 👍
/0 👎
0 B
|👍
/👎