思路妙啊。把问题拆成 1. 低于最低水位线,则添水(tmp += arr[low] - arr[i]),可以看做当前水位线下最多可以盛的水 2. 高于等于最低水位线,则调整水位线,并记录下当前盛的水(sum += tmp; tmp = 0; low = i;) 需要注意的是,碰到局部左右对称的情况(即等于最低水位线的情况,左右扫描时都会记录),需要忽略掉一次扫描,即大佬备注的第一次是<=,第二次只能<
点赞

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务