Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width">
- <title>JS Bin</title>
- </head>
- <body>
- <script id="jsbin-javascript">
- function rainWater(buildHeight) {
- var length = buildHeight.length,
- waterQty = 0;
- console.log
- //array to store largest building height to the left of current building
- var leftMax = [];
- //array to store largest building height to the right of current building
- var rightMax = [];
- leftMax[0] = buildHeight[0];
- rightMax[length-1] = buildHeight[length-1];
- for(var i=1; i<length; i++) {
- leftMax[i] = Math.max(leftMax[i-1], buildHeight[i]);
- }
- for(var i = length-2; i>=0; i--) {
- rightMax[i] = Math.max(rightMax[i+1], buildHeight[i]);
- }
- for(var i=1; i<length; i++) {
- waterQty = waterQty + (Math.min(leftMax[i], rightMax[i])) - buildHeight[i];
- }
- return waterQty;
- }
- var input = [3,0,0,2,0,4];
- console.log(rainWater(input));
- </script>
- <script id="jsbin-source-javascript" type="text/javascript">function rainWater(buildHeight) {
- var length = buildHeight.length,
- waterQty = 0;
- console.log
- //array to store largest building height to the left of current building
- var leftMax = [];
- //array to store largest building height to the right of current building
- var rightMax = [];
- leftMax[0] = buildHeight[0];
- rightMax[length-1] = buildHeight[length-1];
- for(var i=1; i<length; i++) {
- leftMax[i] = Math.max(leftMax[i-1], buildHeight[i]);
- }
- for(var i = length-2; i>=0; i--) {
- rightMax[i] = Math.max(rightMax[i+1], buildHeight[i]);
- }
- for(var i=1; i<length; i++) {
- waterQty = waterQty + (Math.min(leftMax[i], rightMax[i])) - buildHeight[i];
- }
- return waterQty;
- }
- var input = [3,0,0,2,0,4];
- console.log(rainWater(input));</script></body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement