shiro #2637(2007/08/29 19:32 GMT) [ Scheme ] Rating3/3=1.00
効率は悪いけれど短い版。 実行例: gosh> (classify '(1 1 1 1 1)) (homo 1) gosh> (classify '(1 1 2 1 1)) (quasi-homo 1 2) gosh> (classify '(2 1 1 1 1)) (quasi-homo 1 2) gosh> (classify '(2 1 4 1 1)) hetero gosh> (classify '()) hetero
1 2 3 4 5 6 7 8 9
(use gauche.collection) (use util.match) (define (classify lis) (match (group-collection lis) [((x ...)) `(homo ,(car x))] [((x ...) (y)) `(quasi-homo ,(car x) ,y)] [((y) (x ...)) `(quasi-homo ,(car x) ,y)] [_ 'hetero]))
Rating3/3=1.00-0+
[ reply ]
shiro
#2637()
[
Scheme
]
Rating3/3=1.00
Rating3/3=1.00-0+
[ reply ]