Advertisement
Guest User

Untitled

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