【小狮子前端】时隔多年?它回来了_代码实现

祝金榜题名,前程似锦

祝你金榜题名,去到自己想去的学校,未来可期,心想事成!

 

 

小狮子有话说

我依旧还记得在6月25日,那天是端午节,起初想着公众号粉丝应该都没几个了吧,然后打开一看,原来人数也没多少波动,连忙发了一段文字,感谢小伙伴们的一路支持。

在此,我想说,小狮子回来了~ 

【小狮子前端】时隔多年?它回来了_编程开发_02

最近的活动

之前一段时间呢,没有去更新自己的文章了,CSDN文章也更新的慢了。这段时间就是准备找实习去了,后面经历一段沉默时光后,也来到了杭州这边实习。实习这段时间也有一点点松懈,或许就是达到了自己的目标后,一下某个方向就失去了。

现在,我想把文章继续写下去,分享自己一些心得体会与面试吧,这不,秋招就要来了,我也要开始准备了。也希望和小伙伴们一起学习,将自己的知识分享出来。

至于形式的话,我打算是先写一篇博客,然后录制相关讲解视频。可能大家还不知道,我也是一个小小UP主哈。

B站和CSDN博客 搜索:一百个Chocolate

我们下次再见哈~

【经典面试题:最长01子串】  

有一个仅由0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等

01

题目

 有一个仅由0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等

02

 

如果将0看做-1,则我们要找的子串是最长的和为0的子串。

 

这种子串求和的问题,一般采用前缀和的方法来解决。

 

用Sum[i]代表前i个数的和,问题的模型转换为,找到i和j,满足Sum[i] 与Sum[j]相等,且|i-j|最大。

 

 

 

 使用Hash表作为辅助数据结构,Hash表中记录了获得某个Sum时最小的i。从左到右遍历Sum[i],在Hash表中查找是否存在,如果存在,则记录下Hash[Sum[i]] 和i的距离差,否则Hash[Sum[i]] = i。一次遍历结束后得到最大的距离差,同时也可以得到具体是哪一段。

代码实现 · C++版

【小狮子前端】时隔多年?它回来了_编程开发_03

 

【小狮子前端】时隔多年?它回来了_代码实现_04【小狮子前端】时隔多年?它回来了_编程开发_05

无论您漂泊到何处

这里都是您的灵魂树洞

长按识别二维码关注小狮子前端

【小狮子前端】时隔多年?它回来了_编程开发_06

 

 

【小狮子前端】时隔多年?它回来了_编程开发_07【小狮子前端】时隔多年?它回来了_编程开发_08

分享、在看与点赞,至少我要拥有一个吧        点击留言,下一篇更精彩~