题目:给定一个数组,数组中的每一个元素代表一个高度,用其中的两个元素组成容器的两条边高,两个元素的间隔为底长,求这个容器的最大盛水量。
解法一:暴力枚举,列举所有的可能性,求出其中的最大值,时间复杂度0(n*n)
解法二:利用短板效应提前过滤掉很多的可能性,减少枚举次数,思想是边从两边向中间夹,每次只移动较短的边,因为较长的边向中间移动得到的体积不会变得更大(短板效应与公共边效应决定),所以这样进行移动只用遍历所有元素一次,时间复杂度是0(n)
题目:给定一个数组,数组中的每一个元素代表一个高度,用其中的两个元素组成容器的两条边高,两个元素的间隔为底长,求这个容器的最大盛水量。
解法一:暴力枚举,列举所有的可能性,求出其中的最大值,时间复杂度0(n*n)
解法二:利用短板效应提前过滤掉很多的可能性,减少枚举次数,思想是边从两边向中间夹,每次只移动较短的边,因为较长的边向中间移动得到的体积不会变得更大(短板效应与公共边效应决定),所以这样进行移动只用遍历所有元素一次,时间复杂度是0(n)