Код AS3:
function nearestSearch(arr:Vector.<Number>, v:Number):Number{
var left:uint = 0;
var right:uint = arr.length;
while(left < right - 1){
var middle:uint = (right - left >> 1) + left;
if((v - arr[middle - 1] > arr[middle] - v)){
left = middle;
}else{
right = middle;
}
}
return arr[left];
}
ыы прикольно, я продублировал
олимпиадный вариант
надо было сразу проскроллить комменты что бы время не тратить
caseyryan, зачем filter, когда есть forEach? да и вообще for each. с замыканиями и лишними вызовами, оптимизация Math.abs смешно выглядит )