Water collected between towers: Difference between revisions
Content added Content deleted
(Added J solution) |
(→{{header|J}}: better approach inspired by Julia) |
||
Line 791: | Line 791: | ||
0</pre> |
0</pre> |
||
=={{header|J}}== |
=={{header|J}}== |
||
Inspired by [[#Julia]]. |
|||
'''tacit version''' |
'''tacit version''' |
||
<lang J> NB. collect levels after filling |
|||
<lang J> c =: [: +/@, (1,(=>./)) (-~>./\)`(-~>./\.);.1 (0 ,]) |
|||
collect =: >./\ <. >./\. |
|||
NB. sum the difference with the towers |
|||
count =: [: +/ collect - ] |
|||
NB. print a nice graph of towers and water |
|||
print =: [: |.@|: '#~' #~ ] ,. collect - ] |
|||
NB. test cases |
NB. test cases |
||
t =: <@"._2 (0 : 0) |
t =: <@"._2 (0 : 0) |
||
Line 804: | Line 811: | ||
) |
) |
||
r =: 2 14 35 0 0 0 0 |
r =: 2 14 35 0 0 0 0 |
||
r -: |
r -: count &> t |
||
1 |
1 |
||
print 1 {:: t |
|||
# |
|||
# |
|||
#~~~~# |
|||
#~#~~# |
|||
#~#~#~## |
|||
#~#~#### |
|||
###~#### |
|||
########~# |
|||
########## |
|||
</lang> |
</lang> |
||
=={{header|Java}}== |
=={{header|Java}}== |
||
{{trans|D}} |
{{trans|D}} |