Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Determinant by LexCavalera
def checkio(data):
if len(data) == 1:
return data[0][0]
result = 0
for index, element in enumerate(data[0]):
sub_matrix = [row[:index] + row[index + 1:] for row in data[1:]]
sign = (-1) ** index
result += sign * element * checkio(sub_matrix)
return result
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio([[4, 3], [6, 3]]) == -6, 'First example'
assert checkio([[1, 3, 2],
[1, 1, 4],
[2, 2, 1]]) == 14, 'Second example'
Feb. 21, 2014
Comments: