51nod 1393 0和1相等串 思路 : map存前缀和
题目:
思路:把'0'当成数字-1,'1'当成数字1,求前缀和,用map更新当前前缀和最早出现的位置。(用map而不用数组是因为可能会出现负数)
当前缀和的值之前出现过,比如i = 10时,sum = 0;j = 50时,sum = 0; 更新ans = max(ans,j-i);
下面是一个例子:
代码:
#include <bits\stdc++.h> using namespace std;map<int,int> m; //存前缀和最早出现的位置 int a[1000001]; //数字数组 int main(){string s;cin >> s;//将字符串转换成数字数组 for (int i = 0; s[i]; ++i) {if (s[i] == '0') a[i + 1] = -1;else a[i + 1] = 1;}int ans = 0; //最大长度 int sum = 0; //前缀和 for (int i = 1; i <= s.length(); ++i) {sum += a[i]; //m[i]默认是为0的 (i为任意值)if (sum != 0 && m[sum] == 0) { m[sum] = i; //之前未出现过相同值 }else {ans = max(ans, i - m[sum]); // 之前出现过相同值 }}cout << ans << endl;return 0; }
51nod 1393 0和1相等串 思路 : map存前缀和相关推荐
- 用户画像从0到100的构建思路
作者:杨帆.杨楠楠,出品:DataFun 导读:用户画像作为当下描述分析用户.运营营销的重要工具,被全部互联网人熟知,用户画像的定义并不复杂,是系统通过用户自行上传或埋点上报收集记录了用户大量信息,为 ...
- ML:从0到1 机器学习算法思路实现全部过程最强攻略
ML:从0到1 机器学习算法思路实现全部过程最强攻略 目录 思维导图 设计思路 思维导图 设计思路 相关文章 ML之FE:结合Kaggle比赛的某一案例细究Feature Engineering思路框 ...
- Jmeter 压力测试 - Http2.0工具下载慢解决思路-【问题篇】
Jmeter快速使用 特此郑重声明!该文章是原创作品,小编编写实属不易 ,帮忙点赞关注一下~转载小伙伴请注明出处!谢谢 概述 Apache JMeter Apache组织开发的压力测试工具.目前通过H ...
- 0、(空字串)、Null、Empty、与 Nothing 的区别
0.""(空字串).Null.Empty.与 Nothing 的区别 先回答以下问题吧! 经过以下的叙述之后, 变量 A.B.C.D 分别等于 0. "".Nu ...
- 如何用淘礼金0元购物软件实现思路
开发一款淘礼金0元购物软件,并且还可以赚佣金的那种.如果你不知道淘礼金0元购物软件开发思路请看完这篇文章. 第一步:申请淘礼金权限 申请和审核周期:通常是每周申请,次周三通知结果.填写申请表时登录的淘 ...
- Winbond W25Q128JVSIQ 串行闪存
W25Q128JV(128M位)串行闪存为空间.引脚和电源有限的系统提供了存储解决方案.25Q系列提供的灵活性和性能远远超过普通串行闪存设备.它们是将代码隐藏到RAM.直接从双/四SPI(XIP)执行 ...
- 编译原理学习笔记(二十六)~习题:构造基于LR(0)、LR(1)项目的识别活前缀的DFA
题目 文法: S–>Aa | bAc | dc | bda A–>d 通过构造基于LR(0).LR(1)项目的识别活前缀的DFA,判断上面文法 是否是SLR(1)文法?? 是否是LALR( ...
- Python3.8.0语法汉化规范思路1.0版
序:一直为看不懂的英语和大量的词汇困扰着,由于疫情期间打算学点什么打发时间,由于要搞中医大数据和中医针灸临床评价,那就学习现在流行的Python吧!一开始想搞一个简单的爬虫,搭建环境测试程序,各种报错 ...
- Android O 7.0 启动优化的一些思路
启动优化其实是一个比较大的命题,在一些特地的场景下,快速启动有比较强烈的需求,这篇博客主要简单的介绍一些在android O平台上的进行启动优化的思路与想法. 而优化启动的一个很重要的东西就是如何来准 ...
最新文章
- unix mysql命令大全_mySql的一些常用命令
- SAP RETAIL供应商寄售库存跨公司转移后的库存状况
- 灵玖软件大数据采集技术提高出版行业效率
- C++智能指针简单剖析
- Unity3D shaderLab
- python global将结果存储起来给另外一个文件对象使用
- log4j的使用 20220228
- MYSQL 当有两条重复数据时 保留一条
- glassfish启动后不能进入部署页面_Spring Boot 热部署
- WindowsXP 下搭建PHP环境(笔记)
- Python程序设计学习笔记-数据类型
- SQL Server中查询ORACLE的数据
- ssh 免密配置、修改hadoop配置文件
- 14-循环队列实现(C语言)
- 核心网upf作用_5G核心网SMF和UPF拓扑增强技术研究
- html 源码_html制作个人博客网站模板源码下载
- 深入浅出的讲解傅里叶变换(原文作者 韩昊)
- 网站架构优化之css+div设计对SEO的影响
- win10系统声音很大,微信等应用声音很小的问题
- Encoded password does not look like BCrypt 异常处理