解题思路:
注意事项:
参考代码:
public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] s=null; s=sc.nextLine().split(" "); //首先输入字符串的数组,中间用空格分隔 int height[]=new int[s.length]; //然后获取字符串长度,作为int[] 初始数组的长度 for (int i=0;i<height.length;i++){ height[i]=Integer.valueOf(s[i]); //再将String字符串数组转化为int数组。 } System.out.println(maxArea(height)); } public static int maxArea (int[] height) { //从两边进行逼近,每次放弃高度比较小的板 int maxA=0; for(int right=0,left=height.length-1;right<left;){ if(height[right]<height[left]){//右边的高度小,作为高 maxA = Math.max(maxA,(left-right)*height[right]); right++;///放弃相对较小的高/ }else{//左边的高度小,作为高 maxA = Math.max(maxA,(left-right)*height[left]); left--; } } return maxA; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:986 |
川哥的吩咐 (C++代码)浏览:1016 |
数列排序 (C语言代码)浏览:835 |
成绩转换 (C语言代码)浏览:1007 |
简单的for循环浏览:1410 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
众数问题 (C语言代码)浏览:830 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:349 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:640 |