FastPrepFastPrep
Problem Brief

Get Minimum Difference

FULLTIMEOA
See IBM online assessment and hiring insights

An anagram is a word whose characters can be rearranged to create another word. Given two strings, determine the minimum number of characters in either string that must be modified to make the two strings anagrams. If it is not possible to make the two strings anagrams, return -1.

Function Description

Complete the function getMinimumDifference in the editor.

getMinimumDifference has the following parameter(s):

  1. String[] a: an array of strings
  2. String[] b: an array of strings

Returns

int[]: the minimum number of characters in either string that needs to be modified to make the two strings anagrams or -1 if it is not possible

1Example 1

Input
a = ["tea", "tea", "act"], b = ["ate", "toe", "acts"]
Output
[0, 1, -1]
Explanation

Perform the following calculations:

  • a[0] = tea and b[0] = ate are anagrams, so 0 characters need to be modified.
  • a[1] = tea and b[1] = toe are not anagrams. Modify 1 character in either string (o → a or a → o) to make them anagrams.
  • a[2] = act and b[2] = acts are not anagrams and cannot be converted to anagrams because they contain different numbers of characters.
The return array is [0, 1, -1].

2Example 2

Input
a = ["a", "jk", "abb", "mn", "abc"], b = ["bb", "kj", "bbc", "op", "def"]
Output
[-1, 0, 1, 2, 3]
Explanation

Perform the following n = 5 calculations:

  • Index 0: a and bb cannot be anagrams because they contain different numbers of characters.
  • Index 1: jk and kj are already anagrams because they both contain the same characters at the same frequencies.
  • Index 2: abb and bbc differ by one character.
  • Index 3: mn and op differ by two characters.
  • Index 4: abc and def differ by three characters.
After checking each pair of strings, return the array [-1, 0, 1, 2, 3] as the answer.

Constraints

Limits and guarantees your solution can rely on.

  • Each string consists of lowercase characters [a-z]
  • 1 ≤ n ≤ 100
  • 0 ≤ |a[i]|, |b[i]| ≤ 104
  • 1 ≤ |a[i]| + |b[i]| ≤ 104
  • public int[] getMinimumDifference(String[] a, String[] b) {
      // write your code here
    }
    
    Input

    a

    ["tea", "tea", "act"]

    b

    ["ate", "toe", "acts"]

    Output

    [0, 1, -1]

    Sign in to submit your solution.