leetcode正方形坐标 firstblog 第一个博客
leetcode正方形坐标双指针--LeetCode第十一题双指针法能快速遍历数组,得到简化代码,且在提高代码效率有很大裨益,下面我们以leetcode上的第11题为例来讲解该方法。题目:给你n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i, ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i, ai)和(i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为2。 (来源:力扣(LeetCode)链接:暴力法的原理:通过计算柱子中由任意两个互异且固定的柱子构成的容器的体积(我把线认为是柱子),并进行比较,得到最优解,用两次for循环来排除已参与构成容器的柱子,直到只剩下一根柱子。双指针法原理:同样利用暴力法的原理--排除柱子,不同的是通过巧妙的遍历快速排除柱子,并且也遍历了所有能够构成容器的柱子组合。比较两端柱子的高低并选择低柱子,那么低柱子与其他任何的柱子之间形成的容器体积最大的就是由该柱子与最末尾的那个柱子构成的,这样既得到了该柱子与其他任意一个
下载地址
用户评论