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] and result are 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
Inputwords = ["SEND","MORE"], result = "MONEY"
Outputtrue
Map the letters so that SEND + MORE = MONEY, for example 9567 + 1085 = 10652.
Example 2
Inputwords = ["SIX","SEVEN","SEVEN"], result = "TWENTY"
Outputtrue
Map 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.

Asked at 3 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate