Memoize possible_values set
This commit is contained in:
parent
1549269661
commit
f7b6fb053f
1 changed files with 4 additions and 1 deletions
|
@ -20,6 +20,7 @@ class Sudoku:
|
||||||
else:
|
else:
|
||||||
self._board = bytearray(sz4)
|
self._board = bytearray(sz4)
|
||||||
self._clues = frozenset()
|
self._clues = frozenset()
|
||||||
|
self._possible_values = None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def size(self):
|
def size(self):
|
||||||
|
@ -62,7 +63,9 @@ class Sudoku:
|
||||||
The set of valid values for any grid square. This method does not account for values made invalid by already
|
The set of valid values for any grid square. This method does not account for values made invalid by already
|
||||||
being present in a peer of a given square.
|
being present in a peer of a given square.
|
||||||
'''
|
'''
|
||||||
return set(range(1, self.row_size + 1))
|
if not self._possible_values:
|
||||||
|
self._possible_values = set(range(1, self.row_size + 1))
|
||||||
|
return self._possible_values
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def rows(self):
|
def rows(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue