Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 26 Dołączył: 13.09.2007 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Interesuje mnie, czy jest gotowy algorytm (na wzór Longest common substring), który operowałby bezpośrednio na tablicach z nieposortowanymi elementami? Przykład dużo bardziej rozjaśni, czego poszukuję:
Wejście:
Wyjście
Próbowałem to wykonać za pomocą array_diff i rekurencji, ale dostawałem nieunikalne wyniki i nie zawsze poprawne. Ten post edytował sabat24 11.03.2015, 09:52:07 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 26 Dołączył: 13.09.2007 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Każda "podtablica" jest swoistym podzbiorem, stanowiącym pewną całość. Czyli mamy zbiory (prefix 'bo_' pominę, bo jest nieistotny i tak, a mogą być tam inne wartości):
a = {5, 1} b = {1, 5, 17} c = {17, 18} d = {19, 1, 5, 17} Zbiór d zawiera w sobie całkowicie zbiór a oraz b, zatem do wyjścia powinien zostać wybrany zbiór d. Zbiór c nie zawiera się w całości nigdzie, więc także powinien być dodany do wyniku. Kolejność w podzbiorach nie ma znaczenia. Tzn. {5, 1} jest równe {1, 5}. Ten post edytował sabat24 11.03.2015, 10:42:31 |
|
|
|
sabat24 Wszystkie części wspólne podzbiorów 11.03.2015, 09:49:16
sabat24 Po poprawce zwraca także zbiór niepoprawny:
[PHP]... 11.03.2015, 10:30:41
CuteOne Co dokładnie ma być na wyjściu, bo twój przykład j... 11.03.2015, 10:33:17
Pyton_000 czyli na wyjściu powinien być zbiór który nie zawi... 11.03.2015, 10:58:37
sabat24 Zgadza się. Oczywiście zarówno zbiorów, które nie ... 11.03.2015, 11:05:11
Pyton_000 Nie jest to kod polotów master developera ale dzia... 11.03.2015, 13:15:51
sabat24 Dziękuję. Wygląda bardziej przyzwoicie niż mój kod... 11.03.2015, 14:25:16
Pyton_000 nie bo B nie zawiera się w żadnym zbiorze w całośc... 11.03.2015, 14:38:26
sabat24 Mój błąd. W przykładzie dałem 2 zbiory z kluczem B... 11.03.2015, 14:44:48 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 15:10 |