Comment detail

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

結果は Map(プロパティとしてmany、oneを持つ)で 帰ります。

nullの場合にはその他、ということで。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def check( list ){
    def ulist = list.unique()

    switch(ulist.size()){
    case 1:
        return [ many:ulist[0] ]
        break;
    case 2:
        if( list.count(ulist[0]) == 1 ){
            return [ many:list[1], one:ulist[0] ]
        } else if( list.count(ulist[1]) == 1 ){
            return [ many:list[0], one:ulist[1] ]
        }
        break;
    default:
        break;
    }

    return null
}

// 動作確認
println check([1,1,1,1])
println check([1,2,1,1,1])
println check([1,2,2,1,1])
println check([1,2,2,1,3])

Index

Feed

Other

Link

Pathtraq

loading...