http://www.j2men.com/index.php/archives/1855
先上我的解法,话说用并查集会更好,不过我感觉这样也行。
看到题我的最初思路是完全每个矩形都与其他矩形对比一下,遇到不重合的就累计一个数,若累积和为所有矩形数,则图形数+1,遇到重合的就需要判断当前矩形是否已与其他矩形重合,若重合,图形数则不变,若不重合,原来的图形数-1,所以就需要给每一个矩形加一个标志变量,来代表此矩形是否是已重合的图形。 后来我又想了其他的方法,倒不如这个方便,而且这个方法可以通过“惰性判断”再优化(即添加一个矩形后,新的矩形只用于之前已添加的矩形作比较),这样一来减少了很多次判断循环,如此,便有了我的解法。
大家谁用更好的解法呢?
先上我的解法,话说用并查集会更好,不过我感觉这样也行。
看到题我的最初思路是完全每个矩形都与其他矩形对比一下,遇到不重合的就累计一个数,若累积和为所有矩形数,则图形数+1,遇到重合的就需要判断当前矩形是否已与其他矩形重合,若重合,图形数则不变,若不重合,原来的图形数-1,所以就需要给每一个矩形加一个标志变量,来代表此矩形是否是已重合的图形。 后来我又想了其他的方法,倒不如这个方便,而且这个方法可以通过“惰性判断”再优化(即添加一个矩形后,新的矩形只用于之前已添加的矩形作比较),这样一来减少了很多次判断循环,如此,便有了我的解法。
大家谁用更好的解法呢?