ccf最大的矩形
2017-08-02 11:02
169 查看
这道题思路是直接枚举,遍历从0到n-1的每一个矩形,并将其作为中心向两边扩展,扩展的原则就是图形必须是呈凹状,也就是说从中心向左边扩展,必须保证左边矩形的高都比中心大,才能继续向左扩展,否则跳出,同理,从中心向右扩展必须保证右边每个矩形的高都比中心大才能继续向右扩展
代码如下:
package CCF;
import java.util.Scanner;
public class Bigrec {
public static void main(String args[]){
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int []height=new int
;
for(int i=0;i<n;i++){
height[i]=scan.nextInt();
}
int max=0;
for(int i=0;i<n;i++){
int width=1;
for(int j=i-1;j>=0;j--){
if(height[j]<height[i])
break;
width++;
}
for(int j=i+1;j<n;j++){
if(height[j]<height[i])
break;
width++;
}
int temp=width*height[i];
if(temp>max)
max=temp;
}
System.out.println(max);
}
}
代码如下:
package CCF;
import java.util.Scanner;
public class Bigrec {
public static void main(String args[]){
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
int []height=new int
;
for(int i=0;i<n;i++){
height[i]=scan.nextInt();
}
int max=0;
for(int i=0;i<n;i++){
int width=1;
for(int j=i-1;j>=0;j--){
if(height[j]<height[i])
break;
width++;
}
for(int j=i+1;j<n;j++){
if(height[j]<height[i])
break;
width++;
}
int temp=width*height[i];
if(temp>max)
max=temp;
}
System.out.println(max);
}
}
相关文章推荐
- ccf--20131203--最大矩形
- 最大矩形面积(CCF考题)
- CCF 最大的矩形
- 【CCF】最大矩形
- CCF 201312-3 最大的矩形 (暴力,离散化)
- ccf认证题-最大的矩形(动态规划)
- CCF 201312-3 最大的矩形 题解
- CCF真题之最大矩形
- CCF-最大矩形
- CCF 模拟C 找最大矩形+输入输出外挂
- CCF 201312-3最大的矩形
- CCF CSP 编程题目和解答-----试题名称: 最大的矩形 -------201312-3
- CCF 201312-3最大的矩形
- CCF模拟题 最大的矩形
- CCF考试(Java)-最大的矩形
- ccf认证最大的矩形
- CCF最大的矩形
- CCF—最大的矩形 20131203
- CCFCSP 201312-3 最大的矩形
- CCF-最大的矩形-201312-3