美文网首页
[编程题] 最小的矩形

[编程题] 最小的矩形

作者: yuanxiaolan | 来源:发表于2017-04-06 14:51 被阅读0次

    牛牛在二维坐标系中画了N个点,且都是整点。现在牛牛想画出一个矩形,使得这N个点都在矩形内或者在矩形上。
    矩形的边均平行于坐标轴。牛牛希望矩形的面积最小。请你帮助牛牛计算下最小矩形的面积。
    输入描述:
    首先输入一个正整数N表示点的个数(2 <= N <= 50)

    接下来N行每行两个整数x, y,表示该点的坐标。绝对值均小于等于100.

    输出描述:
    一个整数表示最小矩形的面积。

    输入例子:
    2
    0 1
    1 0

    输出例子:
    1

    import java.util.Scanner;
     
    public class Main {
        public static void main(String arg[]){
            Scanner sc=new Scanner(System.in);  
            int N=sc.nextInt();
            int[] b=new int[N];
            int[] c=new int[N];
            String st=sc.nextLine();
            for(int i=0;i<N;i++){
                 
                String str=sc.nextLine();
                String[] a=str.split(" ");      
                b[i]=Integer.parseInt(a[0]);
                c[i]=Integer.parseInt(a[1]);
            }       
             
            int minx=b[0];
            int maxx=b[0];
            int miny=c[0];
            int maxy=c[0];
            int width=0;
            int height=0;
            for(int i=0;i<N;i++){
                if(minx<b[i])
                    minx=b[i];
                if(maxx>b[i])
                    maxx=b[i];
            }
            width=maxx-minx;
            for(int i=0;i<N;i++){
                if(miny<c[i])
                    miny=c[i];
                if(maxy>c[i])
                    maxy=c[i];
            }
            height=maxy-miny;
            System.out.println(width*height);
             
        }
    }
    

    相关文章

      网友评论

          本文标题:[编程题] 最小的矩形

          本文链接:https://www.haomeiwen.com/subject/wbkqattx.html