Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width">
  6. <title>JS Bin</title>
  7. </head>
  8. <body>
  9.  
  10. <script id="jsbin-javascript">
  11. function rainWater(buildHeight) {
  12. var length = buildHeight.length,
  13. waterQty = 0;
  14. console.log
  15. //array to store largest building height to the left of current building
  16. var leftMax = [];
  17.  
  18. //array to store largest building height to the right of current building
  19. var rightMax = [];
  20.  
  21. leftMax[0] = buildHeight[0];
  22. rightMax[length-1] = buildHeight[length-1];
  23.  
  24. for(var i=1; i<length; i++) {
  25. leftMax[i] = Math.max(leftMax[i-1], buildHeight[i]);
  26. }
  27.  
  28. for(var i = length-2; i>=0; i--) {
  29. rightMax[i] = Math.max(rightMax[i+1], buildHeight[i]);
  30. }
  31.  
  32. for(var i=1; i<length; i++) {
  33. waterQty = waterQty + (Math.min(leftMax[i], rightMax[i])) - buildHeight[i];
  34. }
  35.  
  36. return waterQty;
  37. }
  38.  
  39. var input = [3,0,0,2,0,4];
  40. console.log(rainWater(input));
  41. </script>
  42.  
  43.  
  44.  
  45. <script id="jsbin-source-javascript" type="text/javascript">function rainWater(buildHeight) {
  46. var length = buildHeight.length,
  47. waterQty = 0;
  48. console.log
  49. //array to store largest building height to the left of current building
  50. var leftMax = [];
  51.  
  52. //array to store largest building height to the right of current building
  53. var rightMax = [];
  54.  
  55. leftMax[0] = buildHeight[0];
  56. rightMax[length-1] = buildHeight[length-1];
  57.  
  58. for(var i=1; i<length; i++) {
  59. leftMax[i] = Math.max(leftMax[i-1], buildHeight[i]);
  60. }
  61.  
  62. for(var i = length-2; i>=0; i--) {
  63. rightMax[i] = Math.max(rightMax[i+1], buildHeight[i]);
  64. }
  65.  
  66. for(var i=1; i<length; i++) {
  67. waterQty = waterQty + (Math.min(leftMax[i], rightMax[i])) - buildHeight[i];
  68. }
  69.  
  70. return waterQty;
  71. }
  72.  
  73. var input = [3,0,0,2,0,4];
  74. console.log(rainWater(input));</script></body>
  75. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement