Показать сообщение отдельно
Старый 27.07.2014, 19:51
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 5  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
Код 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 смешно выглядит )


Последний раз редактировалось nubideus; 27.07.2014 в 20:33.