Сравните разницу между несколькими числами - PullRequest
0 голосов
/ 17 ноября 2011

Проблема в том, что у меня есть массив с 5 числами:

300 295 250 105 100 95

Необходимый результат: большинство чисел с наименьшей разницей, заданной порогом.Если вы не можете понять: в примере пороговое значение равно 5, а выигрышный набор чисел равен 95 100 105 - потому что есть 3 числа, которые находятся близко друг к другу, а другой набор (295 300) - только 2.

Я будуПопробуй найти более четкое объяснение в ближайшее время.

1 Ответ

2 голосов
/ 17 ноября 2011

Я не могу дать код Javascript, но я предлагаю:

  • Сортировка списка
  • Вычислить последовательные различия
  • округлить или обрезать любые значения ниже threshold до нуля, а все остальные до одного
  • искать самую длинную непрерывную последовательность нулей (кодирование длин серий)
{95, 100, 105, 250, 295, 300}

--->  {5, 5, 145, 45, 5}

--->  {0, 0, 1, 1, 0}
...