diff options
Diffstat (limited to 'racket/leetcode/lc-896-monotonic-array.rkt')
-rw-r--r-- | racket/leetcode/lc-896-monotonic-array.rkt | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/racket/leetcode/lc-896-monotonic-array.rkt b/racket/leetcode/lc-896-monotonic-array.rkt new file mode 100644 index 0000000..fa43244 --- /dev/null +++ b/racket/leetcode/lc-896-monotonic-array.rkt @@ -0,0 +1,16 @@ +#lang racket +(define/contract (is-monotonic test-list) + (-> (listof exact-integer?) boolean?) + (cond [(empty? (cdr test-list)) #true] + [((car test-list) . > . (cadr test-list)) + (is-monotonic-direction test-list >=)] + [((car test-list) . < . (cadr test-list)) + (is-monotonic-direction test-list <=)] + [else (is-monotonic (cdr test-list))])) + +(define/contract (is-monotonic-direction test-list dir) + (-> (listof exact-integer?) procedure? boolean?) + (cond [(empty? (cdr test-list)) #true] + [((car test-list) . dir . (cadr test-list)) + (is-monotonic-direction (cdr test-list) dir)] + [else #false]))
\ No newline at end of file |