今際の国の呵呵君
Monday, September 4, 2017
[LeetCode]Longest Line of Consecutive One in Matrix
解法很直观,四个方向各DP一次,假设矩阵m*n,时间复杂度空间复杂度都是O(m * n)。我们尝试优化,首先可以用三维数组DP,第三个维度记分别录各四个方向的连续1的长度,因为第三个维度是常数,所以时间空间复杂度依然不变,只是我们只需要扫一次。进一步优化,因为我们每一次只用左边右边上边左上对角线四个方位的结果,所以可以把DP数组降维,时间复杂度O(m * n),空间复杂度O(n),代码如下:
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment