Skip to content

Commit 1b1df64

Browse files
pre-commit-ci[bot]reniz-shah
authored andcommitted
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 2d5eebf commit 1b1df64

File tree

1 file changed

+36
-18
lines changed

1 file changed

+36
-18
lines changed

strings/string_is_valid_number.py

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,50 @@
44
Given a string s, return whether s is a valid number or not
55
Leetcode link: https://leetcode.com/problems/valid-number/description/
66
"""
7+
78
from enum import Enum
89
from typing import Dict
910

11+
1012
class CharType(Enum):
11-
NUMERIC = 'NUMERIC'
12-
SIGN = 'SIGN'
13-
EXPONENT = 'EXPONENT'
14-
DECIMAL = 'DECIMAL'
13+
NUMERIC = "NUMERIC"
14+
SIGN = "SIGN"
15+
EXPONENT = "EXPONENT"
16+
DECIMAL = "DECIMAL"
17+
1518

1619
class State(Enum):
17-
INITIAL = 'INITIAL'
18-
SIGNED = 'SIGNED'
19-
WHOLE = 'WHOLE'
20-
FRACTIONAL = 'FRACTIONAL'
21-
FRACTION = 'FRACTION'
22-
EXPONENTIAL = 'EXPONENTIAL'
23-
EXP_SIGN = 'EXP_SIGN'
24-
EXP_NUMBER = 'EXP_NUMBER'
25-
26-
state_machine : Dict[State, Dict[CharType, State]] = {
27-
State.INITIAL: {CharType.NUMERIC: State.WHOLE, CharType.SIGN: State.SIGNED, CharType.DECIMAL: State.FRACTIONAL},
20+
INITIAL = "INITIAL"
21+
SIGNED = "SIGNED"
22+
WHOLE = "WHOLE"
23+
FRACTIONAL = "FRACTIONAL"
24+
FRACTION = "FRACTION"
25+
EXPONENTIAL = "EXPONENTIAL"
26+
EXP_SIGN = "EXP_SIGN"
27+
EXP_NUMBER = "EXP_NUMBER"
28+
29+
30+
state_machine: Dict[State, Dict[CharType, State]] = {
31+
State.INITIAL: {
32+
CharType.NUMERIC: State.WHOLE,
33+
CharType.SIGN: State.SIGNED,
34+
CharType.DECIMAL: State.FRACTIONAL,
35+
},
2836
State.SIGNED: {CharType.NUMERIC: State.WHOLE, CharType.DECIMAL: State.FRACTIONAL},
29-
State.WHOLE: {CharType.NUMERIC: State.WHOLE, CharType.DECIMAL: State.FRACTION, CharType.EXPONENT: State.EXPONENTIAL},
37+
State.WHOLE: {
38+
CharType.NUMERIC: State.WHOLE,
39+
CharType.DECIMAL: State.FRACTION,
40+
CharType.EXPONENT: State.EXPONENTIAL,
41+
},
3042
State.FRACTIONAL: {CharType.NUMERIC: State.FRACTION},
31-
State.FRACTION: {CharType.NUMERIC: State.FRACTION, CharType.EXPONENT: State.EXPONENTIAL},
32-
State.EXPONENTIAL: {CharType.NUMERIC: State.EXP_NUMBER, CharType.SIGN: State.EXP_SIGN},
43+
State.FRACTION: {
44+
CharType.NUMERIC: State.FRACTION,
45+
CharType.EXPONENT: State.EXPONENTIAL,
46+
},
47+
State.EXPONENTIAL: {
48+
CharType.NUMERIC: State.EXP_NUMBER,
49+
CharType.SIGN: State.EXP_SIGN,
50+
},
3351
State.EXP_SIGN: {CharType.NUMERIC: State.EXP_NUMBER},
3452
State.EXP_NUMBER: {CharType.NUMERIC: State.EXP_NUMBER},
3553
}

0 commit comments

Comments
 (0)