跳到主要内容

3168. 候诊室中的最少椅子数

链接: 3168. 候诊室中的最少椅子数

给你一个字符串 s,模拟每秒钟的事件 i:

  • 如果 s[i] == 'E',表示有一位顾客进入候诊室并占用一把椅子。
  • 如果 s[i] == 'L',表示有一位顾客离开候诊室,从而释放一把椅子。

返回保证每位进入候诊室的顾客都能有椅子坐的 最少 椅子数,假设候诊室最初是 空的 。

题解

class Solution {
public:
int minimumChairs(string s) {
int res = 0;
int tmp = 0;
for (char c : s) {
if (c =='E')
++res;
else
res = res > 0 ? res - 1 : 0; // 这里多此一举
tmp = max(tmp, res);
}
return tmp;
}
};
C++

0x3f

class Solution {
public:
int minimumChairs(string s) {
int ans = 0, cnt = 0;
for (char c : s) {
if (c == 'E') {
ans = max(ans, ++cnt);
} else {
cnt--;
}
}
return ans;
}
};
C++
请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...