How to resolve the algorithm Water collected between towers step by step in the PicoLisp programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Water collected between towers step by step in the PicoLisp programming language
Table of Contents
Problem Statement
In a two-dimensional world, we begin with any bar-chart (or row of close-packed 'towers', each of unit width), and then it rains, completely filling all convex enclosures in the chart with water.
In the example above, a bar chart representing the values [5, 3, 7, 2, 6, 4, 5, 9, 1, 2] has filled, collecting 14 units of water. Write a function, in your language, from a given array of heights, to the number of water units that can be held in this way, by a corresponding bar chart. Calculate the number of water units that could be collected by bar charts representing each of the following seven series:
See, also:
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Water collected between towers step by step in the PicoLisp programming language
Source code in the picolisp programming language
(de water (Lst)
(sum
'((A)
(cnt
nT
(clip (mapcar '((B) (>= B A)) Lst)) ) )
(range 1 (apply max Lst)) ) )
(println
(mapcar
water
(quote
(1 5 3 7 2)
(5 3 7 2 6 4 5 9 1 2)
(2 6 3 5 2 8 1 4 2 2 5 3 5 7 4 1)
(5 5 5 5)
(5 6 7 8)
(8 7 7 6)
(6 7 10 7 6) ) ) )
You may also check:How to resolve the algorithm Pierpont primes step by step in the Quackery programming language
You may also check:How to resolve the algorithm Time a function step by step in the Elena programming language
You may also check:How to resolve the algorithm Add a variable to a class instance at runtime step by step in the Morfa programming language
You may also check:How to resolve the algorithm User input/Text step by step in the Oz programming language
You may also check:How to resolve the algorithm Introspection step by step in the Phixmonti programming language