LeetCode medium

/11  5.8 盛水最多的容器

题目大概这样

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

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

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

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

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

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

 

转载于:https://www.cnblogs.com/lx2331/p/10840580.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值