class Solution {
public int minimumChairs(String s) {
int sum = 0;
int max = 0;
for(int i=0;i<s.length();i++){
if(s.charAt(i) == 'E'){
sum++;
}else{
sum--;
}
if(sum > max){
max = sum;
}
}
return max;
}
}
1. 初始化变量
int sum = 0; int max = 0;
-
sum
:表示当前房间中的人数,初始化为 0。 -
max
:表示所需的最大椅子数量,初始化为 0。
2. 遍历字符串 s
for (int i = 0; i < s.length(); i++) {
-
使用
for
循环遍历字符串s
中的每个字符。
3. 更新当前人数
if (s.charAt(i) == 'E') { sum++; } else { sum--; }
-
如果当前字符是
'E'
,表示一个人进入房间,将sum
加 1。 -
如果当前字符是其他字符(例如
'L'
),表示一个人离开房间,将sum
减 1。
4. 更新最大椅子数量
if (sum > max) { max = sum; }
-
每次更新
sum
后,检查当前人数是否超过了之前记录的最大值max
。 -
如果超过了,更新
max
为当前的sum
。
5. 返回结果
return max;
-
在遍历完字符串
s
后,返回所需的最大椅子数量max
。