Ну, я был дан ряд пар элементов (s,h)
, где s
Посылает h
элемент на s
-м ряду 2D-массива. Не обязательно, чтобы каждая строка имела одинаковое количество элементов, только известно, что не может быть больше N элементов на линии.Нужно найти самые низкие различия между первой строке массива и остальных из них
Что я хочу сделать, это найти самую низкую самую большую разницу (!) Между определенным элементом первой строки и остальными.
Таким образом, если у меня есть 3 строки с (101,92) (100,25,95,52,101) (93,108,0,65,200)
, то я хочу найти 3, потому что мне нужно выбрать 92, и у меня 95-92 = 3 от первого до второго и 93-92 = 1 от первой до третьей.
Я достиг точки, когда он уверен, что если у меня есть s
линии с n(i)
элементов каждый и i=0..s
, затем n0<=n1<=...<=ns
так, чтобы иметь хороший средний сценарий производительности при выборе наилучшего соответствия с 1-й линии по отношению к другим.
Тем не менее, я не могу придумать способ ниже, чем O (п), или даже может быть, О (п) в некоторых случаях. Кто-нибудь имеет предложение об улучшенном способе сделать это?
Почему нет 101-101 = 0 ставок 1 и 2? – JATMON
, потому что мне нужно найти лучший вариант с первой строки по сравнению со всеми остальными. я могу иметь нулевую разницу между первой и второй строкой, если я выбираю 101, но тогда первая-третья строка дает мне 7 для 108-101, что больше 3, которые я получил в примере, который я написал. Большое спасибо за то, что вы спросили, потому что этот момент может быть немного размытым для кого-то, кто рассматривает мой вопрос! – Noowada