Valid Number
Hard · Math & Number Theory · about 25 minutes
Asked at LinkedIn, Meta, Google, Amazon.
Decide whether the string s spells a number under these rules:
- an integer is an optional
'+'or'-'followed by one or more digits; - a decimal is an optional sign followed by digits with a dot somewhere: before them (
.5), after them
(5.) or between them (5.25), with at least one digit in total;
- either form may end with an exponent: an
'e'or'E'followed by an integer.
Accepted, for example: "7", "0042", "-0.5", "+6.02", "8.", ".25", "1e9", "-3E7", "12.5e-3". Rejected: "xyz", "7e", "e7", "6e1.5", "++2", "+-1", "12b3e4", ".".