Добрый день
Пытался найти максимумы-минимумы в таблице.
Выводит подобное:
Использование функции в table.sort тоже никак не помогает почему-то.
Вопросы:
1. почему не сортирует вообще никак, ни по ключу, ни по значению, хотя то и другое - натуральные числа?
2. как отсортировать значения, сохраняя ассоциации с ключами?
3. известен ли лучший способ поиска максимумов-минимумов без сортировки?
Максимумов-минимумов может быть несколько. В приведенном конкретном случае, если бы ключи были отсортированы, хотелось бы найти волны макс.-мин.-макс.-мин. таким образом, чтобы максимумы и минимумы стояли друг от друга не ближе какого-то диапазона. При этом в абсолютных значениях максимумы могут не быть самыми большими числами, а минимумы - самыми маленькими
Пытался найти максимумы-минимумы в таблице.
Код |
---|
table.sort(TBsorted) for key, val in pairs(TBsorted) do lst = lst..key.." - "..val.."\n" end |
Цитата |
---|
64287 - 7 64282 - 1 64284 - 27 64286 - 112 64281 - 16 64280 - 1 64285 - 10 64278 - 2 |
Использование функции в table.sort тоже никак не помогает почему-то.
Вопросы:
1. почему не сортирует вообще никак, ни по ключу, ни по значению, хотя то и другое - натуральные числа?
2. как отсортировать значения, сохраняя ассоциации с ключами?
3. известен ли лучший способ поиска максимумов-минимумов без сортировки?
Максимумов-минимумов может быть несколько. В приведенном конкретном случае, если бы ключи были отсортированы, хотелось бы найти волны макс.-мин.-макс.-мин. таким образом, чтобы максимумы и минимумы стояли друг от друга не ближе какого-то диапазона. При этом в абсолютных значениях максимумы могут не быть самыми большими числами, а минимумы - самыми маленькими
Цитата |
---|
64278 - 2 64279 - 0 min 64280 - 1 64281 - 16 max 64282 - 1 64283 - 0 min 64284 - 27 - не max, хотя и больше 64281 - 16, т.к. слишком близко к min 64285 - 10 - не min, слишком близко к max 64286 - 112 max 64287 - 7 |