Ruby 初心者スレッド Part 22
レス数が950を超えています。1000を超えると書き込みができなくなります。
0962デフォルトの名無しさん
2008/11/18(火) 05:33:41参考までに>>746のもの。>>945とよく似ているけど、なにが違うかな。
def match_loop(val, array)
return array[0] if array.size <= 1 # 配列が空の時はnilを返す
head = 0
tail = array.size - 1
while tail - head > 1
navel = (head + tail) / 2
if val < array[navel]
tail = navel
else
head = navel
end
end
val-array[head] <= array[tail]-val ? head : tail
end
レス数が950を超えています。1000を超えると書き込みができなくなります。