Class Solution
- java.lang.Object
-
- g1701_1800.s1722_minimize_hamming_distance_after_swap_operations.Solution
-
public class Solution extends Object
1722 - Minimize Hamming Distance After Swap Operations.Medium
You are given two integer arrays,
sourceandtarget, both of lengthn. You are also given an arrayallowedSwapswhere eachallowedSwaps[i] = [ai, bi]indicates that you are allowed to swap the elements at indexaiand indexbi(0-indexed) of arraysource. Note that you can swap elements at a specific pair of indices multiple times and in any order.The Hamming distance of two arrays of the same length,
sourceandtarget, is the number of positions where the elements are different. Formally, it is the number of indicesifor0 <= i <= n-1wheresource[i] != target[i](0-indexed).Return the minimum Hamming distance of
sourceandtargetafter performing any amount of swap operations on arraysource.Example 1:
Input: source = [1,2,3,4], target = [2,1,4,5], allowedSwaps = [[0,1],[2,3]]
Output: 1
Explanation: source can be transformed the following way:
-
Swap indices 0 and 1: source = [2,1,3,4]
-
Swap indices 2 and 3: source = [2,1,4,3]
The Hamming distance of source and target is 1 as they differ in 1 position: index 3.
Example 2:
Input: source = [1,2,3,4], target = [1,3,2,4], allowedSwaps = []
Output: 2
Explanation: There are no allowed swaps. The Hamming distance of source and target is 2 as they differ in 2 positions: index 1 and index 2.
Example 3:
Input: source = [5,1,2,4,3], target = [1,5,4,2,3], allowedSwaps = [[0,4],[4,2],[1,3],[1,4]]
Output: 0
Constraints:
n == source.length == target.length1 <= n <= 1051 <= source[i], target[i] <= 1050 <= allowedSwaps.length <= 105allowedSwaps[i].length == 20 <= ai, bi <= n - 1ai != bi
-
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intminimumHammingDistance(int[] source, int[] target, int[][] allowedSwaps)
-