当前位置:首页 > 开发教程 > 软件工程 >

【Leetcode】Rectangle Area

时间:2016-06-06 23:26 来源: 作者: 收藏

Linux系统提供API函数sched_setaffinity和sched_getaffinity用于设置或获取线程的可以使用的CPU核。int sched_setaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask);这个函数中pid表示需要设置或获取绑定信息的线程id(或进程id),如果为0,表

题目链接:https://leetcode.com/problems/rectangle-area/

题目:

Find the total area covered by two rectilinear rectangles in a 2D plane.

Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.

【Leetcode】Rectangle Area

Assume that the total area is never beyond the maximum possible value of int.

思路:

小学好像做过这种题=- =  easy

算法:

[java] view plain copy  【Leetcode】Rectangle Area【Leetcode】Rectangle Area
  1. public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {  
  2.     int area = (D - B) * (C - A) + (H - F) * (G - E);  
  3.     if (E >= C || G <= A || H <= B || F >= D) {  
  4.         return area;  
  5.     }  
  6.     int left_h = Math.max(E, A);  
  7.     int left_v = Math.max(F, B);  
  8.     int right_h = Math.min(C, G);  
  9.     int right_v = Math.min(D, H);  
  10.     return area - (right_h - left_h) * (right_v - left_v);  
  11. }  
0
0