Class Solution
- java.lang.Object
-
- g2301_2400.s2301_match_substring_after_replacement.Solution
-
public class Solution extends Object
2301 - Match Substring After Replacement.Hard
You are given two strings
sandsub. You are also given a 2D character arraymappingswheremappings[i] = [oldi, newi]indicates that you may replace any number ofoldicharacters ofsubwithnewi. Each character insubcannot be replaced more than once.Return
trueif it is possible to makesuba substring ofsby replacing zero or more characters according tomappings. Otherwise, returnfalse.A substring is a contiguous non-empty sequence of characters within a string.
Example 1:
Input: s = “fool3e7bar”, sub = “leet”, mappings = [[“e”,“3”],[“t”,“7”],[“t”,“8”]]
Output: true
Explanation: Replace the first ‘e’ in sub with ‘3’ and ‘t’ in sub with ‘7’.
Now sub = “l3e7” is a substring of s, so we return true.
Example 2:
Input: s = “fooleetbar”, sub = “f00l”, mappings = [[“o”,“0”]]
Output: false
Explanation: The string “f00l” is not a substring of s and no replacements can be made.
Note that we cannot replace ‘0’ with ‘o’.
Example 3:
Input: s = “Fool33tbaR”, sub = “leetd”, mappings = [[“e”,“3”],[“t”,“7”],[“t”,“8”],[“d”,“b”],[“p”,“b”]]
Output: true
Explanation: Replace the first and second ‘e’ in sub with ‘3’ and ‘d’ in sub with ‘b’.
Now sub = “l33tb” is a substring of s, so we return true.
Constraints:
1 <= sub.length <= s.length <= 50000 <= mappings.length <= 1000mappings[i].length == 2oldi != newisandsubconsist of uppercase and lowercase English letters and digits.oldiandnewiare either uppercase or lowercase English letters or digits.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanmatchReplacement(String s, String sub, char[][] mappings)
-