看到题目,第一个想到的肯定是穷举法,但是很明显,穷举法肯定会导致TLE,所以立马放弃考虑,接着我们可以想到stack,如果用stack的话,1就往stack里面添加1,而0就从里面进行减去。那么如果我们就可以根据stack的size来进行查看。相当于水杯那种,1就是加水,而0就是喝水。那么如果他们不同时间段的size相同,则说明是有了相同的0和1的数量。
那我们反过来一想,其实stack的size也就是数组对应的和,而我们需要记录的是第一次出现这个水线的位置,这样就可以得到对应的长度了,再与当前长度进行对比,就能获取到最终的结果。
