Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. <script>
  2.  
  3.  
  4. function numOfNeighbour( mat, i, j,rows,cols)
  5. {
  6. var count = 0;
  7.  
  8. // UP
  9. if (i > 0 && mat[i - 1][j]==='X')
  10. count++;
  11.  
  12. // LEFT
  13. if (j > 0 && mat[i][j - 1]==='X')
  14. count++;
  15.  
  16. // DOWN
  17. if (i < rows-1 && mat[i + 1][j]==='X')
  18. count++;
  19.  
  20. // RIGHT
  21. if (j < cols-1 && mat[i][j + 1]==='X')
  22. count++;
  23.  
  24. return count;
  25. }
  26.  
  27. function findPerimeter( mat)
  28. {
  29. var perimeter = 0;
  30. var rows=mat.length;
  31. var cols=mat[0].length;
  32.  
  33. // Traversing the matrix and finding ones to
  34. // calculate their contribution.
  35. for (var i = 0; i < rows; i++)
  36. for (var j = 0; j < cols; j++)
  37. if (mat[i][j] && mat[i][j]==='X')
  38. perimeter += (4 - numOfNeighbour(mat, i ,j,rows,cols));
  39.  
  40. return perimeter;
  41. }
  42.  
  43. console.log("perimeter of ['XOOXO', 'XOOXO', 'OOOXO', 'XXOXO', 'OXOOO'] is ",findPerimeter(['XOOXO', 'XOOXO', 'OOOXO', 'XXOXO', 'OXOOO'])); //24
  44. console.log("perimeter of ['XOOO', 'XOXO', 'XOXO', 'OOXX', 'OOOO'] is " ,findPerimeter(['XOOO', 'XOXO', 'XOXO', 'OOXX', 'OOOO'])); //18
  45. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement