Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Determinant by tom-tom
#from numpy.linalg import det as checkio
def checkio(data):
if len(data) == 1:
return data[0][0]
result = 0
for i, row in enumerate(data):
result += (-1) ** i * row[0] * checkio([r[1:] for j, r in enumerate(data) if i != j])
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'
Nov. 3, 2016