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)
'''