1878. Get Biggest Three Rhombus Sums in a Grid (Medium) - TengnanYao/daily_leetcode GitHub Wiki
class Solution:
def getBiggestThree(self, grid: List[List[int]]) -> List[int]:
result = set()
m, n = len(grid), len(grid[0])
for i in range(m):
for j in range(n):
result.add(grid[i][j])
for k in range(1, j + 1):
if i + 2 * k < m and j + k < n:
s = grid[i][j] + grid[i + k][j - k] + grid[i + k][j + k] + grid[i + 2 * k][j]
for x in range(1, k):
s += grid[i + x][j - x] + grid[i + x][j + x] + grid[i + 2 * k - x][j - x] + grid[i + 2 * k - x][j + x]
result.add(s)
result = list(result)
result.sort(reverse = True)
return result[ : 3]