# Critique my HW 3.8 Sudoku solution

 0 I see that Peter goes through each column and row for every single digit. My idea is to take every row and every column as a separate list, sort them, and check if the digits go from 1 to n. Please comment on the efficiency / correctness of my solution (it's judged correct by the system). def check (ls): a = [] a.extend(ls) a.sort() k = 1 for l in a: if not l==k: return False k = k + 1 return True def check_sudoku(ls): n = len(ls) for l in ls: if not check(l): return False for i in range(n): a = [] for j in range(n): a.append(ls[j][i]) if not check(a): return False return True  asked 14 Mar '12, 18:42 Bo Tian 49●8 accept rate: 0%

 1 I guess I don't understand why you need to sort the lists in order to check them. I realize it's computationally insignificant for what we're doing, but you can just run a for loop over the range of the length of the list and check that the number is there. answered 14 Mar '12, 18:47 David Harris 8.1k●21●55●111
Question text:

Markdown Basics

• *italic* or _italic_
• **bold** or __bold__
• image?![alt text](/path/img.jpg "Title")
• numbered list: 1. Foo 2. Bar
• to add a line break simply add two spaces to where you would like the new line to be.
• basic HTML tags are also supported

×15,242
×161