This commit is contained in:
Ingy döt Net 2013-06-05 21:47:54 +00:00
parent 1f1ad49427
commit 6f050a029e
2496 changed files with 37609 additions and 3031 deletions

View file

@ -1,9 +1,8 @@
import Data.List (inits, tails)
subseqs [] = []
subseqs (x:xs) = [x] : map (x:) s ++ s where s = subseqs xs
subseqs = foldr (\x s -> [x] : map (x:) s ++ s) []
consecs x = concatMap (tail.inits) (tails x)
consecs = concatMap (tail.inits) . tails
minus [] [] = []
minus (a:as) bb@(b:bs)

View file

@ -0,0 +1,4 @@
(define (subsets l)
(if (null? l) '(())
(append (for/list ([l2 (subsets (cdr l))]) (cons (car l) l2))
(subsets (cdr l)))))

View file

@ -0,0 +1,9 @@
#lang racket
(define (non-continuous-subseqs l)
(let loop ([l l] [x 0])
(if (null? l) (if (>= x 3) '(()) '())
(append (for/list ([l2 (loop (cdr l) (if (even? x) (add1 x) x))])
(cons (car l) l2))
(loop (cdr l) (if (odd? x) (add1 x) x))))))
(non-continuous-subseqs '(1 2 3 4))
;; => '((1 2 4) (1 3 4) (1 3) (1 4) (2 4))