#include<iostream> using namespace std; string s; int ans,p[2000005],last=1000000; int main() { cin>>s; for(int i=1;i<=s.length();i++){ if(s[i-1]=='+')last++; else last--; if(p[last]==0)p[last]=i; else ans=max(ans,i-p[last]); if(last==1000000)ans=i; } cout<<ans<<endl; }
时间: 2023-12-02 08:06:24 浏览: 65
使用include <iostream>时一定要加using namespace std
这是一段 C++ 代码,功能是计算一个字符串中连续加减号的最长长度。
转换成 Python 代码如下:
```python
s = input()
ans = 0
p = [0] * 2000005
last = 1000000
for i in range(1, len(s) + 1):
if s[i - 1] == '+':
last += 1
else:
last -= 1
if p[last] == 0:
p[last] = i
else:
ans = max(ans, i - p[last])
if last == 1000000:
ans = i
print(ans)
```
注意,Python 中没有 `using namespace std;` 这个语法,而且 Python 中的列表索引从 0 开始,需要稍作修改。
阅读全文