溢出处理

https://leetcode.com/problems/rectangle-area/

今天做这道题发现了溢出的问题

1 int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
2     int overlap_width = max(min(C, G) - max(A, E), 0), overlap_height = max(min(D, H) - max(B, F), 0);
3     return (C - A) * (D - B) + (G - E) * (H - F) - overlap_width * overlap_height;
4 }
1 int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
2     int overlap_width = min(C, G) < max(A, E) ? 0 : min(C, G) - max(A, E);
3     int overlap_height = min(D, H) < max(B, F) ? 0 : min(D, H) - max(B, F);
4     return (C - A) * (D - B) + (G - E) * (H - F) - overlap_width * overlap_height;
5 }

今天nvidia的电话面试也问了关于浮点数相加溢出的问题,关于并行相加将数进行分类的问题,之后详补。

posted @ 2015-06-16 13:32  daijkstra  阅读(157)  评论(0编辑  收藏  举报