1.分发饼干 https://leetcode.cn/problems/assign-cookies/
2.心算挑战 https://leetcode.cn/problems/uOAnQW/
3.保持城市天际线 https://leetcode.cn/problems/max-increase-to-keep-city-skyline/
4.Shoe Shuffling https://codeforces.com/problemset/problem/1691/B
1、
2、
3、
class Solution { public int maxIncreaseKeepingSkyline(int[][] grid) { int n = grid.length; int[] rowMax = new int[n]; int[] colMax = new int[n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { rowMax[i] = Math.max(rowMax[i], grid[i][j]); colMax[j] = Math.max(colMax[j], grid[i][j]); } } int ans = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { ans += Math.min(rowMax[i], colMax[j]) - grid[i][j]; } } return ans; } }