Water collected between towers: Difference between revisions
Content added Content deleted
(added Scheme example) |
(updated Scheme version to be more efficient) |
||
Line 1,068: | Line 1,068: | ||
(define (total-collected chart) |
(define (total-collected chart) |
||
(define (highest- |
(define (highest-left vals curr) |
||
(if (null? |
(if (null? vals) |
||
(list curr) |
|||
(cons |
(cons curr |
||
(highest- |
(highest-left (cdr vals) (max (car vals) curr))))) |
||
(define (highest- |
(define (highest-right vals curr) |
||
(reverse (highest- |
(reverse (highest-left (reverse vals) curr))) |
||
; |
; |
||
(if (< (length chart) 3) ; catch the end cases |
(if (< (length chart) 3) ; catch the end cases |