难度:【中等】
- 题目给画了图,比较方便理解。第一个思路是把所有的面积都计算一遍,显然时间复杂度很高;接着思考第二个方法,使用双指针,通过移动首尾指针来计算面积:如果下一个height超过当前值,就移动该指针,直到两个指针相遇。写完代码运行超时。
- 超时是因为死循环了,因为上面的移动指针的条件有问题,根据条件并不能遍历整个height数组,无法跳出循环。
- 参考官方解法:每次都移动值较小的指针,直到两个指针相遇。比我想的简单很多,我确实想多了,我还比较了面积。根据题解改了代码,提交通过。
难度:【中等】