File tree 1 file changed +15
-6
lines changed
1 file changed +15
-6
lines changed Original file line number Diff line number Diff line change 3
3
4
4
def findDiagonalOrder (nums : List [List [int ]]) -> List [int ]:
5
5
# make a index sum pair list [0][0] => 0, [0][1] => 1, [1][0] => 1...
6
- indexSumPairs = list ()
6
+ # indexSumPairs = list()
7
+ # for i in range(len(nums)):
8
+ # for j in range(len(nums[i])):
9
+ # indexSumPairs.append((i+j, nums[i][j]))
10
+ # # sort by index sum reversed (so it starts with "bottom" of nums array)
11
+ # indexSumPairs.sort(key=lambda pair: pair[0], reverse=True)
12
+ # return [v for _, v in reversed(indexSumPairs)]
13
+ result = list ()
14
+ maxIndexSum = 0
7
15
for i in range (len (nums )):
8
- for j in range (len (nums [i ])):
9
- indexSumPairs .append ((i + j , nums [i ][j ]))
10
- # sort by index sum reversed (so it starts with "bottom" of nums array)
11
- indexSumPairs .sort (key = lambda pair : pair [0 ], reverse = True )
12
- return [v for _ , v in reversed (indexSumPairs )]
16
+ maxIndexSum = max (maxIndexSum , i + len (nums [i ])- 1 )
17
+ for sum in range (maxIndexSum + 1 ):
18
+ for i in range (sum + 1 ):
19
+ if sum - i < len (nums ) and i < len (nums [sum - i ]):
20
+ result .append (nums [sum - i ][i ])
21
+ return result
13
22
14
23
15
24
# test driver:
You can’t perform that action at this time.
0 commit comments