例如
01111
01001
01001
01111
01011
正常思路:就是选取一个点N(n,m),这个点作为正方形的左上角,可以有多少个正方形,然后看里面的正方形边长都是1的情况。时间复杂度为O(n^4),伪代码为
优化,因为因为检查是否为1的这个操作是重复的,可以采用预处理的方式。把之前的信息记录下来。查找的这个过程时间复杂度就为O(1)。总的时间复杂度变为O(n^3)。
例如
01111
01001
01001
01111
01011
正常思路:就是选取一个点N(n,m),这个点作为正方形的左上角,可以有多少个正方形,然后看里面的正方形边长都是1的情况。时间复杂度为O(n^4),伪代码为
优化,因为因为检查是否为1的这个操作是重复的,可以采用预处理的方式。把之前的信息记录下来。查找的这个过程时间复杂度就为O(1)。总的时间复杂度变为O(n^3)。