Comment detail

仲間はずれの判定 (Nested Flatten)

This comment is reply for 2668 sumim: Squeak Smalltalk で。 ...(仲間はずれの判定). Go to thread root.

noeta さんの #2667 の変形で、均一、あるいは、仲間はずれがあるときは要素種を配列(要素数は前者は 1、後者は 2)で、そうでないときは false を返すようにしてみました。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
| homoCheck |
homoCheck := [:xs |
	| elems |
	elems := xs asBag sortedCounts collect: [:assoc | assoc value].
	elems size > 2 ifTrue: [false] ifFalse: [elems asArray]].

homoCheck value: #(1 1 1 1 1).   "=> #(1) "
homoCheck value: #(1 1 2 1 1).   "=> #(1 2) "
homoCheck value: #(2 1 1 1 1).   "=> #(1 2)"
homoCheck value: #(2 1 4 1 1).   "=> false "

Index

Feed

Other

Link

Pathtraq

loading...