java.lang.Object
g3101_3200.s3168_minimum_number_of_chairs_in_a_waiting_room.Solution

public class Solution extends Object
3168 - Minimum Number of Chairs in a Waiting Room.

Easy

You are given a string s. Simulate events at each second i:

  • If s[i] == 'E', a person enters the waiting room and takes one of the chairs in it.
  • If s[i] == 'L', a person leaves the waiting room, freeing up a chair.

Return the minimum number of chairs needed so that a chair is available for every person who enters the waiting room given that it is initially empty.

Example 1:

Input: s = “EEEEEEE”

Output: 7

Explanation:

After each second, a person enters the waiting room and no person leaves it. Therefore, a minimum of 7 chairs is needed.

Example 2:

Input: s = “ELELEEL”

Output: 2

Explanation:

Let’s consider that there are 2 chairs in the waiting room. The table below shows the state of the waiting room at each second.

SecondEventPeople in the Waiting RoomAvailable Chairs
0Enter11
1Leave02
2Enter11
3Leave02
4Enter11
5Enter20
6Leave11

Example 3:

Input: s = “ELEELEELLL”

Output: 3

Explanation:

Let’s consider that there are 3 chairs in the waiting room. The table below shows the state of the waiting room at each second.

SecondEventPeople in the Waiting RoomAvailable Chairs
0Enter12
1Leave03
2Enter12
3Enter21
4Leave12
5Enter21
6Enter30
7Leave21
8Leave12
9Leave03

Constraints:

  • 1 <= s.length <= 50
  • s consists only of the letters 'E' and 'L'.
  • s represents a valid sequence of entries and exits.
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • minimumChairs

      public int minimumChairs(String s)