Validate a simplified numeric string
Company: Meta
Role: Software Engineer
Category: Coding & Algorithms
Difficulty: Medium
Interview Round: Technical Screen
Implement isValidNumber
(s) that returns true if and only if the ASCII string s represents a valid number under these simplified rules:
- Optional leading '+' or '-'.
- A mantissa that is either:
(a) one or more digits, optionally containing a single decimal point anywhere (e.g., '123', '0.5', '.8', '10.'), with at least one digit overall; or
(b) exactly a decimal point is not allowed ('.' invalid).
- An optional exponent part: 'e' or 'E' followed by an optional '+' or '-' and then at least one digit (e.g., '1e9', '-3.2E-4').
- No spaces, commas, underscores, or other characters are allowed anywhere.
- Leading zeros are allowed; multiple signs or multiple decimal points are not.
Return false for cases like 'e3', '+.', '1.2.3', '--6', '6e', '6e-'. Provide time and space complexities and briefly justify your approach.
Quick Answer: This question evaluates string-parsing, formal-grammar validation, and edge-case reasoning competencies, including the ability to recognize valid numeric formats and to provide time and space complexity analysis.