diff options
Diffstat (limited to 'leetcode/lc-228-summary-ranges.rkt')
-rw-r--r-- | leetcode/lc-228-summary-ranges.rkt | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/leetcode/lc-228-summary-ranges.rkt b/leetcode/lc-228-summary-ranges.rkt deleted file mode 100644 index 9140895..0000000 --- a/leetcode/lc-228-summary-ranges.rkt +++ /dev/null @@ -1,27 +0,0 @@ -#lang racket -(define (summary-ranges nums) - (define range-pairs - (cond - [(empty? nums) '()] - [(empty? (cdr nums)) (list (cons (car nums) (car nums)))] - [else (for/fold ([ranges '()] - [open-pair (first nums)] - [prev-num (first nums)] - #:result (append ranges (list (cons open-pair prev-num)))) - ([i (cdr nums)]) - (cond [(= (add1 prev-num) i) - (values ranges - open-pair - i)] - [else - (values (append ranges (list (cons open-pair prev-num))) - i - i)]))])) - (for/list ([p (in-list range-pairs)]) - (cond [(= (car p) (cdr p)) (format "~a" (car p))] - [else (format "~a->~a" (car p) (cdr p))]))) - -(summary-ranges '(0 1 2 4 5 7)) -(summary-ranges '(0 2 3 4 6 8 9)) -(summary-ranges '()) -(summary-ranges '(0))
\ No newline at end of file |