Sfoglia il codice sorgente

Adding solution for 2051

Vinicius Teshima 2 settimane fa
parent
commit
854f79d9c6
1 ha cambiato i file con 26 aggiunte e 0 eliminazioni
  1. 26 0
      Racket/2951.rkt

+ 26 - 0
Racket/2951.rkt

@@ -0,0 +1,26 @@
+#lang racket
+
+(define/contract (find-peaks mountain)
+  (-> (listof exact-integer?) (listof exact-integer?))
+  (let _go ([i 1] [prev (car mountain)] [cur (cdr mountain)] [res '()])
+    (if (= 1 (length cur)) res
+      (let ([s (car cur)] [t (cadr cur)])
+        (_go (+ i 1) s (cdr cur) (append res (if (and (> s prev) (> s t)) (cons i '()) '())))
+        )
+      )
+    )
+  )
+
+(define (main)
+  (define (r mountain exp)
+    (printf
+      "(find-peaks ~a) = ~a | Exp: ~a\n"
+      mountain (find-peaks mountain) exp
+      )
+    )
+
+  (r '(2 4 4) '())
+  (r '(1 4 3 8 5) '(1 3))
+  )
+
+(main)