LeetCode medium

/11  5.8 盛水最多的容器

题目大概这样

最开始暴力o(n^2)过了,然后。。看官方题解说是双指针往前往后扫,具体写法自己想了半天,最卡的点就是如果两边又想等怎么办。脑子动太少了……

最后忽然灵光一现,如果两边相等,不知道该去减掉哪个,如果里面的更高,那无所谓,先哪个都ok

如果里面的更矮,或者里面和外面相等,那没用,直接两个一起减掉吧。因为往里面走长度是缩小的,只有高度更高才能带来回报

为什么原本是o(n^2)的现在变成o(n)还不就在这吗..... 因为少了无所谓的支出,所以优化。

具体while循环什么的边界自己多注意。

啊,写的时候还是犯了一些小错误,,,比如height[prev]写成prev什么的,这到底怎么过的三分之一样例_(:з」∠)_

猜你喜欢

转载自www.cnblogs.com/lx2331/p/10840580.html
今日推荐