題目描述 (中等難度)
原考題請見此。
解題說明
求出每個位置可以增加的最大值之差值總和,條件是不能大於所在該行,與該列元素中最大值。
例如:位置 (0, 0) 所在該行所有元素為 [3, 0, 8, 4],最大值為 8 ;該列 [3, 2, 9, 0],最大值為 9,在不影響行列最大值的條件下,新值最大為 8
目前值為 3,與新值差值為 8 - 3 = 5。以此類推,將差值加總即為解答。
解法
- 找出 (0, 0) 所在行(x = 0)的最大值 (maxX)、所在列(y = 0)的最大值 (maxY),兩值較小者為此位置新值
- 將上步驟求得值,減去此位置原值
- 重複以上步驟,遍歷所有位置,加總步驟 2 的值即為解答
原題目沒有提到陣列是否為正方形,以上解法可容許二維陣列元素數量不同。