第四题的改进考虑了好多角度:
1. 对低于最小高度和高于最大高度的情况直接输出结果
2. 保存每个发电站被淹和不被淹两种情况对应可以跳至的下一个检查点,比如对高度为[1,2,3]的发电站,如果1都不会被淹,那2、3都可以跳过检查,用两个数组分别记录被淹和不被淹的情况
3. 记录每次洪水高度到hash表中,如果有重复洪水高度直接查表
4. 对发电站的高度进行排序,然后对每次洪水的高度,通过二分查找找到刚好可以淹没的发电站高度,计算洪水为改高度的结果并保存至hash表,如果hash表中已有结果可以直接返回 (最后才想到,没写完)

前三种方案都试了还是40%,第四种没时间写了,不知道能不能解决,有没有哪位大佬全ac的说一下第四题到底是怎么个思路……