連続するアレゴルフ
なんか見覚えある問題だけどネタ元がネタ元だけに流行ってるなぁとか思ってたら完全に乗り遅れた。
一番短そうなのを写経だけでも。
a=[1,3,4,5,6,12,13,15] r=[] a.each{r&&n-1==(a=[]+r[-1])[-1]?r[-1]=[a[1],it]:r<<it} print r
ArrayList#getAt の気が利かないせいで冗長になってしまう。
> ruby -e "p [][1]; p [][-1]" nil nil > groovy -e "println([][1]); println([][-1])" null Caught: java.lang.ArrayIndexOutOfBoundsException: Negative array index [-1] too large for array size 0 at script_from_command_line.run(script_from_command_line:1) at script_from_command_line.main(script_from_command_line)
この結果がどうも気持ち悪い。どっちも例外ならまだ分かるんだが。