@@ -16,18 +16,17 @@ def __init__(self, matrix):
1616 self .__bit = [[0 ] * (len (self .__matrix [0 ]) + 1 ) \
1717 for _ in xrange (len (self .__matrix ) + 1 )]
1818
19- bit = [[0 ] * (len (self .__matrix [0 ]) + 1 ) \
20- for _ in xrange (len (self .__matrix ) + 1 )]
21- for i in xrange (1 , len (bit )):
22- for j in xrange (1 , len (bit [0 ])):
23- bit [i ][j ] = matrix [i - 1 ][j - 1 ] + bit [i - 1 ][j ] + bit [i ][j - 1 ] - bit [i - 1 ][j - 1 ]
24-
2519 self .__bit = [[0 ] * (len (self .__matrix [0 ]) + 1 ) \
2620 for _ in xrange (len (self .__matrix ) + 1 )]
27- for i in xrange (1 , len (bit )):
28- for j in xrange (1 , len (bit [0 ])):
21+ for i in xrange (1 , len (self .__bit )):
22+ for j in xrange (1 , len (self .__bit [0 ])):
23+ self .__bit [i ][j ] = matrix [i - 1 ][j - 1 ] + self .__bit [i - 1 ][j ] + \
24+ self .__bit [i ][j - 1 ] - self .__bit [i - 1 ][j - 1 ]
25+ for i in reversed (xrange (1 , len (self .__bit ))):
26+ for j in reversed (xrange (1 , len (self .__bit [0 ]))):
2927 last_i , last_j = i - (i & - i ), j - (j & - j )
30- self .__bit [i ][j ] = bit [i ][j ] - bit [i ][last_j ] - bit [last_i ][j ]+ bit [last_i ][last_j ]
28+ self .__bit [i ][j ] = self .__bit [i ][j ] - self .__bit [i ][last_j ] - \
29+ self .__bit [last_i ][j ] + self .__bit [last_i ][last_j ]
3130
3231 def update (self , row , col , val ):
3332 """
0 commit comments