Java
/**
* <a href="https://leetcode.cn/problems/minimum-operations-to-make-columns-strictly-increasing/">Minimum Operations to Make Columns Strictly Increasing</a>
*/
class Solution {
public int minimumOperations(int[][] grid) {
int counter = 0;
for (int i = 0; i < grid[0].length; i++) {
for (int j = 1; j < grid.length; j++) {
int delta = grid[j][i] - grid[j - 1][i];
if (delta <= 0) {
grid[j][i] += -delta + 1;
counter += -delta + 1;
}
}
}
return counter;
}
}
Go
func minimumOperations(grid [][]int) int {
counter := 0
for i := 0; i < len(grid[0]); i++ {
for j := 0; j < len(grid)-1; j++ {
delta := grid[j+1][i] - grid[j][i]
if delta <= 0 {
grid[j][i] += -delta + 1
counter += -delta + 1
}
}
}
return counter
}