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]