牛客在线编程101-93 盛水最多的容器
生活随笔
收集整理的這篇文章主要介紹了
牛客在线编程101-93 盛水最多的容器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
給定一個數組height,長度為n,每個數代表坐標軸中的一個點的高度,height[i]是在第i點的高度,請問,從中選2個高度與x軸組成的容器最多能容納多少水
1.你不能傾斜容器
2.當n小于2時,視為不能形成容器,請返回0
3.數據保證能容納最多的水不會超過整形范圍,即不會超過231-1
數據范圍:
0<=height.length<=10^50<=height.length<=10
5
0<=height[i]<=10^40<=height[i]<=10
4
貪心算法。
import java.util.*;public class Solution {/*** 代碼中的類名、方法名、參數名已經指定,請勿修改,直接返回方法規定的值即可** * @param height int整型一維數組 * @return int整型*/public int maxArea (int[] height) {// write code hereif(height.length < 2) {return 0;}int max = 0;// for(int i = 0; i < height.length - 1; i++) {// if()// for(int j = i + 1; j < height.length; j++) {// max = Math.max(max, Math.min(height[i], height[j]) * (j - i));// }// }//貪心算法int left = 0;int right = height.length - 1;while(left < right) {max = Math.max(max, Math.min(height[left], height[right]) * (right - left));if(height[left] < height[right]) {left++;//只有向右,才能提高桶的高度} else {right--;} }return max;} }總結
以上是生活随笔為你收集整理的牛客在线编程101-93 盛水最多的容器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: input type=button与as
- 下一篇: InfluxDB常用函数