diff options
| author | Mistivia <i@mistivia.com> | 2024-02-25 20:11:54 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2024-02-25 20:11:54 +0800 |
| commit | 515ecbf5a20a8e432a998b0a543bedcb1bd64cf4 (patch) | |
| tree | 6353c603a8cf0276553f420205f8d1c730a318ce /leetcode | |
| parent | e191b610c11326b587cf0b01fd6fc37b8d07bb19 (diff) | |
reorg code
Diffstat (limited to 'leetcode')
| -rw-r--r-- | leetcode/1-two-sum/solution.rkt | 16 | ||||
| -rw-r--r-- | leetcode/20-valid-parentheses/solution.rkt | 33 |
2 files changed, 0 insertions, 49 deletions
diff --git a/leetcode/1-two-sum/solution.rkt b/leetcode/1-two-sum/solution.rkt deleted file mode 100644 index e155160..0000000 --- a/leetcode/1-two-sum/solution.rkt +++ /dev/null @@ -1,16 +0,0 @@ -#lang racket - -;; https://leetcode.com/problems/two-sum/description/ - -(define/contract (two-sum nums target) - (-> (listof exact-integer?) exact-integer? (listof exact-integer?)) - (define h (make-hash)) - (define (loop nums index) - (define n (car nums)) - (define diff (- target n)) - (if (hash-has-key? h diff) - (list index (hash-ref h diff)) - (let () - (hash-set! h n index) - (loop (cdr nums) (+ 1 index))))) - (loop nums 0)) diff --git a/leetcode/20-valid-parentheses/solution.rkt b/leetcode/20-valid-parentheses/solution.rkt deleted file mode 100644 index 559b90c..0000000 --- a/leetcode/20-valid-parentheses/solution.rkt +++ /dev/null @@ -1,33 +0,0 @@ -#lang racket - -;; https://leetcode.com/problems/valid-parentheses/ - -(define (is-left-paren c) - (or (eq? c #\u28) - (eq? c #\[) - (eq? c #\{))) - -(define (right-paren c) - (cond ((eq? c #\u28) #\u29) - ((eq? c #\[) #\]) - ((eq? c #\{) #\}))) - -(define/contract (is-valid s) - (-> string? boolean?) - (define (loop s stack) - (if (= 0 (string-length s)) - (null? stack) - (let () - (define c (string-ref s 0)) - (define remain (substring s 1)) - (if (is-left-paren c) - (loop remain (cons c stack)) - (if (null? stack) - #f - (let () - (define stack-top (car stack)) - (if (eq? c (right-paren stack-top)) - (loop remain (cdr stack)) - #f))))))) - (loop s '())) - |
