Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MARK: - 2657. Find the Prefix Common Array of Two Arrays
- // Найти кол-во повторяющихся элементов на каждой позиции
- // A = [1,3,2,4],
- // B = [3,1,2,4]
- // -> [0,2,3,4]
- // На позиции 1 - повторяющихся элементов 2шт - 1, 3
- func findThePrefixCommonArray(_ A: [Int], _ B: [Int]) -> [Int] {
- var set = Set<Int>()
- var result = Array(repeating: 0, count: A.count)
- // Если в множество будет положено 2 числа сразу, то общих чисел нет
- for i in 0..<A.count {
- set.insert(A[i])
- set.insert(B[i])
- // Сколько всего элементов положили (нужно прибавить 1, чтобы отсчет был не с 0)
- // (i + 1) - номер элемента, который мы кладем (чтобы не было нулей)
- let totalInput = 2 * (i + 1)
- // Проверяем длинну Set и сколько фактически положили
- result[i] = totalInput - set.count
- }
- return result
- }
- /*
- сколько элементов исчезло, когда добавляли в сет, столько и дкбликатов
- - Положили 4 элемента, 2 исчезло (1, 3) -> значит они были дубликатами
- - Положили 6 элементов, 2 исчезло (1, 3) -> они дубликаты
- */
- let A = [1,3,9,4]
- let B = [3,1,8,4]
- findThePrefixCommonArray(A, B)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement