/ / Znajdź wspólną wartość w dwóch tablicach dwuwymiarowych Ruby - ruby ​​na szynach, ruby, tablice

Znajdź wspólną wartość w dwóch tablicach dwuwymiarowych Ruby - ruby-on-rails, ruby, tablice

Mam dwie tablice i każda jest dwuwymiarowachcą wziąć wartość z tablicy 1 w pozycji i i spróbować znaleźć tę samą wartość w tablicy 2. Jeśli mają tę samą wartość, wartości z tablicy 2 w pozycji x są konkatenowane w tablicy 1 w pozycji i.

przykład

Tablica 1

[[1, 2,3,4,5,6], [3,5,7,2,12,5], [a, f, 3, d, 4, g]]

Tablica 2

[[b, e, w, 1,4,6], [1, 0,8,5,8,9]]

Tak więc nowa tablica 1 będzie

[[1,2,3,4,5,6,1, 0,8,5,8,9], [3,5,7,2,12,5], [a, f, 3, d, 4, g]]

Jakiekolwiek myśli.....

Odpowiedzi:

0 dla odpowiedzi № 1

Twój opis zadania jest nieprawidłowy. Nie możesz

przyjmij wartość tablicy 1 w pozycji i

bo array 1 zawierają same tablice, dzięki czemu możesz przyjmować wartość na miejscu i, j. I wyszukaj te same wartości w array 2 w każdym i na pozycji j. A jeśli tego właśnie chcesz, oto przykładowy kod:

arr_1 = [[1, 2, 3, 4, 5, 6], [3, 5, 7, 2, 12, 5], ["a", "f", 3, "d", 4, "g"]]
arr_2 = [["b", "e", "w", 1, 4, 6], [1, 0, 8, 5, 8, 9]]

search_i = 0
search_j = 0

search_val = arr_1[search_i][search_j]

arr_2.each_with_index do |val_i, i|
val_i.each_with_index do |val_j, j|
if j == search_j && arr_2[i][j] == search_val
arr_1[search_i].concat(arr_2[i])
end
end
end

p arr_1 # [[1, 2, 3, 4, 5, 6, 1, 0, 8, 5, 8, 9], [3, 5, 7, 2, 12, 5], ["a", "f", 3, "d", 4, "g"]]