Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Sudoku(s) {
- var n = s.length
- for(var i = 0; i < n; i++){
- if(!validate(s[i])){
- return false
- }
- }
- for(var i = 0; i < n; i++){
- var col = []
- for(var j = 0; j < n; j++){
- col.push(s[j][i])
- }
- if(!validate(col)){
- return false
- }
- }
- for(var xOffset = 0; xOffset < n; xOffset+=3){
- for(var yOffset = 0; yOffset < n; yOffset+=3){
- var subMatrix = getSubMatrix(xOffset, yOffset, s)
- if(!validate(subMatrix)){
- return false
- }
- }
- }
- return true
- }
- function validate(arr) {
- var clonedArr = arr.slice().sort(function(a,b){return a - b})
- for(var i = 0 ; i < arr.length; i++){
- if(clonedArr[i] !== i+1){
- return false
- }
- }
- return true
- }
- function getSubMatrix(x, y, grid){
- var arr = []
- for(var i = x; i < x + 3; i++){
- for(var j = y; j < y + 3; j++){
- arr.push(grid[i][j])
- }
- }
- return arr
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement