FastPrepFastPrep
Problem Brief

Minimum Steps Required

OA

Given two strings str1 and str2 containing only 0s and 1s, there are steps to change str1 to str2:

  • Find a substring of str1 of length 2 and reverse it, resulting in str1' (where str1' != str1).
  • Find a substring of str1' of length 3, reverse it, resulting in str1'' (where str1'' != str1').
  • Repeat similar steps.
  • String length ranges from 2 to 30.

    Requirements: 🤩

  • Each step must be performed once, and you cannot skip previous steps to perform the next step.
  • If it's possible to change str1 to str2, output the minimum required steps. Otherwise, output -1.
  • 1Example 1

    Input
    str1 = "1010", str2 = "0011"
    Output
    2
    Explanation
    Steps:
  • Choose substring in range [2, 3]: "1010" → "1001"
  • Choose substring in the range [0, 2]: "1001" → "0011"
  • 2Example 2

    Input
    str1 = "1001", str2 = "0110"
    Output
    -1
    Explanation
    It's impossible to change str1 to str2.

    3Example 3

    Input
    str1 = "10101010", str2 = "00101011"
    Output
    7
    Explanation
    The minimum steps required to change str1 to str2 is 7.
    public int minimumStepsRequired(String str1, String str2) {
        // write your code here
    }
    
    Input

    str1

    "1010"

    str2

    "0011"

    Output

    2

    Sign in to submit your solution.