外部循環:兩層循環遍歷矩陣的上下邊界,時間複雜度為 O(M^2)。
內部循環:對於每一對top 和bottom,我們遍歷所有列,且每次更新和查找前綴和,時間複雜度為O(N),並且每次查找和插入操作的時間複雜度為O(1) (由於使用unordered_set)
由於 set 裡的運算(插入和尋找)是對數時間複雜度的,所以本演算法的時間複雜度大致是 O(M^2 * N * log M),對於大矩陣會有較高的時間消耗。