@@ -15,8 +15,8 @@ def cherryPickup(self, grid):
15
15
for i in xrange (1 , len (grid )):
16
16
for j in xrange (1 , len (grid [0 ])+ 1 ):
17
17
for k in xrange (1 , len (grid [0 ])+ 1 ):
18
- dp [i % 2 ][j ][k ] = (( grid [ i ][ j - 1 ] + grid [ i ][k - 1 ]) if j != k else grid [ i ][ j - 1 ]) + \
19
- max ( dp [( i - 1 ) % 2 ][j + d1 ][k + d2 ] for d1 in xrange ( - 1 , 2 ) for d2 in xrange ( - 1 , 2 ) )
18
+ dp [i % 2 ][j ][k ] = max ( dp [( i - 1 ) % 2 ][ j + d1 ][k + d2 ] for d1 in xrange ( - 1 , 2 ) for d2 in xrange ( - 1 , 2 )) + \
19
+ (( grid [ i ][j - 1 ] + grid [ i ][k - 1 ]) if j != k else grid [ i ][ j - 1 ] )
20
20
return max (itertools .imap (max , * dp [(len (grid )- 1 )% 2 ]))
21
21
22
22
@@ -36,8 +36,7 @@ def cherryPickup(self, grid):
36
36
for i in xrange (1 , len (grid )):
37
37
for j in xrange (len (grid [0 ])):
38
38
for k in xrange (len (grid [0 ])):
39
- dp [i % 2 ][j ][k ] = (( grid [ i ][j ] + grid [ i ][k ]) if j != k else grid [ i ][ j ]) + \
40
- max ( dp [( i - 1 ) % 2 ][ j + d1 ][ k + d2 ] for d1 in xrange ( - 1 , 2 ) for d2 in xrange ( - 1 , 2 )
41
- if 0 <= j + d1 < len ( grid [0 ]) and 0 < = k + d2 < len ( grid [0 ]) )
39
+ dp [i % 2 ][j ][k ] = max ( dp [( i - 1 ) % 2 ][j + d1 ][k + d2 ] for d1 in xrange ( - 1 , 2 ) for d2 in xrange ( - 1 , 2 )
40
+ if 0 <= j + d1 < len ( grid [ 0 ]) and 0 <= k + d2 < len ( grid [ 0 ])) + \
41
+ (( grid [ i ][ j ] + grid [i ][ k ]) if j ! = k else grid [i ][ j ] )
42
42
return max (itertools .imap (max , * dp [(len (grid )- 1 )% 2 ]))
43
-
0 commit comments