擅长:python、mysql、java
<pre><code>def adj(ar)
result = [ar]
2.upto ar.size do |j|
0.upto ar.size-j do |i|
result << [*ar[0, i], ar[i,j].join.to_i, *ar[i+j..-1]]
end
end
result
end
</code></pre>
<p>试验</p>
^{pr2}$
<p><strong>编辑</strong></p>
<p>如果你想让它与Ruby1.8.7兼容(上面是1.9+)</p>
<pre><code>def adj(ar)
result = [ar]
2.upto ar.size do |j|
0.upto ar.size-j do |i|
result << [ar[0, i], ar[i,j].join.to_i, ar[i+j..-1]].flatten
end
end
result
end
a = (1..5).to_a
adj a
#=> same result
</code></pre>