LC 1424 [M] Diagonal Traverse II - ALawliet/algorithms GitHub Wiki

class Solution:
    def findDiagonalOrder(self, nums: List[List[int]]) -> List[int]:
        ROWS = len(nums)
        
        v = []
        
        for r in range(ROWS):
            for c in range(len(nums[r])):
                diag = r + c
                v.append( (diag, c, nums[r][c]) )
                
        # print(v)
        v.sort() # sort by r + c the diag, then col
        # print(v)
        ans = list(r[2] for r in v) # return out the actual values
        return ans
                
'''
ways to number diagonals
(x + y)
(R - x + y)
(R - x + R - y)
(x + R - y)
'''