携程笔试Java 0907 第四题详解
#include< iostream>
#include< string>
using namespace std;
int main()
{
string a;
cin>>a;
long long ans = 0;
int t = 0;
for(int i=0;i< a.size();i++)
{
if(a[i] == '0')
{
if(t<0) t = 0;
t++;
if(t>0) ans+=t;
}
else if(a[i] == '1')
{
t--;
if(t>0) ans+=t;
}
}
cout<< ans << endl;
}
#include< string>
using namespace std;
int main()
{
string a;
cin>>a;
long long ans = 0;
int t = 0;
for(int i=0;i< a.size();i++)
{
if(a[i] == '0')
{
if(t<0) t = 0;
t++;
if(t>0) ans+=t;
}
else if(a[i] == '1')
{
t--;
if(t>0) ans+=t;
}
}
cout<< ans << endl;
}
全部评论
单调栈的板子吧
送花
回复
分享
1直接-1太妙了
送花
回复
分享
秋招专场
官网直投
**佬也太强了吧
送花
回复
分享
1的出现怎么来考虑的,没看懂
送花
回复
分享
我双指针双了半天,用例过5%
送花
回复
分享
相关推荐
05-28 21:25
上海交通大学 计算机类 点赞 评论 收藏
转发