双指针法——最大盛水容器

一曲冷凌霜 提交于 2020-01-26 21:27:36

事实:

  1. 所有可能构成最大容量的两根柱子m,n (m<n)具有如下特点:m左边的所有柱子都不高于n; 所有n右边的柱子都不高于m;【用反证法易于证明】
  2. 于是只需要int maxarea; int area;逐个遍历这些可能的最大容器;更新maxarea的值即可

算法 :

  1. 先将两个指针分别放在最左端和最右端的两根柱子
  2. 不断向里移动两根柱子中较短的一根【这样就可以使当前容器,满足上文的特点】
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!