Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. function Sudoku(s) {
  2. var n = s.length
  3.  
  4. for(var i = 0; i < n; i++){
  5. if(!validate(s[i])){
  6. return false
  7. }
  8. }
  9.  
  10. for(var i = 0; i < n; i++){
  11. var col = []
  12. for(var j = 0; j < n; j++){
  13. col.push(s[j][i])
  14. }
  15. if(!validate(col)){
  16. return false
  17. }
  18. }
  19.  
  20. for(var xOffset = 0; xOffset < n; xOffset+=3){
  21. for(var yOffset = 0; yOffset < n; yOffset+=3){
  22. var subMatrix = getSubMatrix(xOffset, yOffset, s)
  23.  
  24. if(!validate(subMatrix)){
  25. return false
  26. }
  27. }
  28. }
  29. return true
  30. }
  31.  
  32. function validate(arr) {
  33. var clonedArr = arr.slice().sort(function(a,b){return a - b})
  34.  
  35. for(var i = 0 ; i < arr.length; i++){
  36. if(clonedArr[i] !== i+1){
  37. return false
  38. }
  39. }
  40. return true
  41. }
  42.  
  43. function getSubMatrix(x, y, grid){
  44. var arr = []
  45. for(var i = x; i < x + 3; i++){
  46. for(var j = y; j < y + 3; j++){
  47. arr.push(grid[i][j])
  48. }
  49. }
  50. return arr
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement