Biorąc pod uwagę kilka wektorów/zestawów, z których każdy zawiera wiele liczb całkowitych, które są różne w obrębie jednego wektora. Teraz chcę sprawdzić, czy istnieje zestaw, który składa się z wyodrębnienia tylko jednego elementu z podanych wektorów/zestawów, w tym samym czasie, gdy wyodrębnione liczby są nieidentyczne od siebie.Jak znaleźć nieidentyczne elementy z wielu wektorów?
Przykładowo, jeżeli określa a, b, c, d, jak:
a <- (1,3,5);
b <- (3,6,8);
c <- (2,3,4);
d <- (2,4,6)
znajdę się zestawy, takie jak (1, 8, 4, 6) lub (3, 6, 2, 4) ..... w rzeczywistości, muszę tylko znaleźć jeden taki zestaw, aby udowodnić istnienie.
stosując brutalne wyszukiwanie siły, można sprawdzić maksymalne kombinacje m^k, gdzie m jest rozmiarem podanych zbiorów, k jest liczbą podanych zestawów.
Czy istnieją jakieś sprytniejsze sposoby? Dziękujemy!
Czy mogę przyjąć następujące rzeczy: 1) że każdy zestaw jest posortowany, 2) nie może być więcej niż, powiedzmy 100, elementów w każdym zestawie, 3) i nie może być więcej niż, powiedzmy 10, zestawów? – Nawaz
Dzięki Nawaz. Tak, na początku nie zaszkodzi takie założenie. – ulyssis2
Jedyne, co mogę wymyślić, to zredukowanie problemu związanego ze zwarciem generowania combnation. Tak więc, jeśli masz 2, nie próbuj żadnych combosów w następnym zbiorze, który zawiera 1, 2 i/lub 3. Jeśli wybrałeś 3 w zestawie "a", wtedy wszystkie generowanie kombinacji, które są generowane za pomocą 3 w zestawie "b" zostanie wyeliminowane. Nie zmniejszy to O (m^k), ale zmniejszy rzeczywisty czas działania. – Justin