zoukankan      html  css  js  c++  java
  • LeetCode 223 223. Rectangle Area

    题目

    计算矩形覆盖面积

    class Solution {
    public:
        int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
            
            int a =0;
            if(E<C&&G>A)
            {
                if(G>=C&&E>=A)
                {
                   
                    if(H>=D&&F<=B)
                    {
                            a = (C-E)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (C-E)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (C-E)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (C-E)*(H-F);
                        }
                    
                }
                
                if(G<C&&E>=A)
                {
                    
                    if(H>=D&&F<=B)
                    {
                            a = (G-E)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (G-E)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (G-E)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (G-E)*(H-F);
                        }
                }
                
                if(E<A&&G<C)
                {
                     if(H>=D&&F<=B)
                    {
                            a = (G-A)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (G-A)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (G-A)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (G-A)*(H-F);
                        }
                }
                
                if(E<A&&G>=C)
                {
                     if(H>=D&&F<=B)
                    {
                            a = (C-A)*(D-B);
                    }
                    else if(H>B&&H<D&&F<=B)
                        {
                            a = (C-A)*(H-B);
                        }
                        else if(H>=D&&F>B&&F<D)
                        {
                            a = (C-A)*(D-F);
                        }
                        else if(H<D&&F>B)
                        {
                            a = (C-A)*(H-F);
                        }
                }
            }
            
            return (C-A)*(D-B)-a+(G-E)*(H-F);
            
        }
    };
    
  • 相关阅读:
    118.Java_前定义
    117.数据结构概述(定义,基本术语,层次)
    116.C语言_文件
    115.C语言_函数
    java数组
    sql语句学习(第二季
    linux查看内存
    增强型for和Iterator学习
    ArrayList和LinkedList
    java并发回答
  • 原文地址:https://www.cnblogs.com/dacc123/p/12350362.html
Copyright © 2011-2022 走看看