假设我们有一个用矩形的长度和宽度表示的矩形列表。我们可以将任何矩形旋转90度,因此旋转后,宽度将变为长度,反之亦然。我们必须检查是否可以按宽度的非递增顺序对矩形进行排序。
因此,如果输入像rects = [[4,5],[5,7],[4,6]],那么当我们旋转时,由于宽度为[5,7,6],因此输出将为True最后两个矩形,则宽度将为[5,5,4],这是非递增方式。
让我们看下面的实现以更好地理解-
def solve(rect): m = 99999 for i in range(len(rect)): if max(rect[i][0], rect[i][1]) <= m: m = max(rect[i][0], rect[i][1]) elif min(rect[i][0], rect[i][1]) <= m: m = min(rect[i][0], rect[i][1]) else: return False return True rects = [[4, 5], [5, 7], [4, 6]] print(solve(rects))
[[4, 5], [5, 7], [4, 6]]输出结果
True