Verbal Arithmetic Puzzle
Given an equation, represented by words on the left side and the result on the right side.
You need to check if the equation is solvable under the following rules:
- Each character is decoded as one digit (
0 - 9). - No two characters can map to the same digit.
- Each
words[i]andresultare decoded as one number without leading zeros. - Sum of numbers on the left side (
words) will equal to the number on the right side (result).
Return true if the equation is solvable, otherwise return false.
Example 1
Input
words = ["SEND","MORE"], result = "MONEY"Output
trueMap the letters so that
SEND + MORE = MONEY, for example 9567 + 1085 = 10652.Example 2
Input
words = ["SIX","SEVEN","SEVEN"], result = "TWENTY"Output
trueMap the letters so that
SIX + SEVEN + SEVEN = TWENTY, for example 650 + 68782 + 68782 = 138214.Constraints
- 2 <= words.length <= 5
- 1 <= words[i].length, result.length <= 7
- words[i], result contain only uppercase English letters.
- The number of different characters used in the expression is at most 10.