Python 3 + Explanation
The points in rec1 and rec2 are always in ascending order, so x1 < x2 and y1 < y2.\n Let\'s append the points belonging to rec1 with a, and those belonging to r
* The points in `rec1` and `rec2` are always in ascending order, so `x1 < x2` and `y1 < y2`.\n* Let\'s append the points belonging to `rec1` with `a`, and those belonging to `rec2` with `b`.\n* Instead of asking *\'What are the conditions for a rectangle to intersect?\'* let\'s ask the reverse: *\'What are the conditions for rectangles to **not** intersect?\'*.\n\t1. `rec1` is to the left of `rec2`.\n\t2. `rec1` is to the right of `rec2`.\n\t3. `rec1` is below `rec2`.\n\t4. `rec1` is above `rec2`.\n* If **none** of these are satisfied, then the rectangles intersect.\n```\nclass Solution:\n    def isRectangleOverlap(self, rec1: List[int], rec2: List[int]) -> bool:\n\t\t# Use unpacking to get the four co-ordinates.\n        x1a, y1a, x2a, y2a = rec1\n        x1b, y1b, x2b, y2b = rec2\n        \n        rec1LeftOfRec2 = x2a <= x1b # The largest x value in rec1 is <= the smallest x value in rec2.\n        rec1RightOfRec2 = x1a >= x2b # The smallest x vale in rec1 is >= the largest x value in rec2.\n        rec1BelowRec2 = y2a <= y1b # The largest y value in rec1 is <= the smallest y value in rec2.\n        rec1AboveRec2 = y1a >= y2b # The smallest y value in rec1 >= the largest y value in rec2.\n        \n        return not(rec1LeftOfRec2 or rec1RightOfRec2 or rec1BelowRec2 or rec1AboveRec2)\n```
[]