Valid Number
来源:互联网 发布:大数据技术与应用就业 编辑:程序博客网 时间:2024/06/05 04:28
Validate if a given string is numeric.
Some examples:"0"
=> true
" 0.1 "
=> true
"abc"
=> false
"1 a"
=> false
"2e10"
=> true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.
class Solution: # @param s, a string # @return a boolean def isNumber(self, s): INVALID=0; SPACE=1; SIGN=2; DIGIT=3; DOT=4; EXPONENT=5; transitionTable=[[-1, 0, 3, 1, 2, -1], #0 no input or just spaces [-1, 8, -1, 1, 4, 5], #1 input is digits [-1, -1, -1, 4, -1, -1], #2 no digits in front just Dot [-1, -1, -1, 1, 2, -1], #3 sign [-1, 8, -1, 4, -1, 5], #4 digits and dot in front [-1, -1, 6, 7, -1, -1], #5 input 'e' or 'E' [-1, -1, -1, 7, -1, -1], #6 after 'e' input sign [-1, 8, -1, 7, -1, -1], #7 after 'e' input digits [-1, 8, -1, -1, -1, -1]] #8 after valid input input space state=0; i=0 while i < len(s) : inputtype = INVALID if s[i] ==' ' : inputtype = SPACE elif s[i] == '+' or s[i] == '-' : inputtype = SIGN elif s[i] in '0123456789' : inputtype = DIGIT elif s[i] == '.' : inputtype = DOT elif s[i] == 'e' or s[i] == 'E': inputtype = EXPONENT state = transitionTable[state][inputtype] if state == -1 : return False i += 1 return state == 1 or state == 4 or state == 7 or state == 8
0 0
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- Valid Number
- C++对象在内存中的布局(读汇编代码)
- ARM接口技术——基础
- Android上的otto的使用
- hdu2050折线分割平面
- HTML元素显示与隐藏
- Valid Number
- 配置ssh公钥访问oschina
- Android 4.4 KitKat 支持 u 盘功能
- 求一个序列的全排列
- Windows SDK:What is a top-level window?
- JSONP简单例子
- C++设计模式之中介者模式
- Java中初始化对象的顺序,静态代码块的用法以及Static的用法详解
- 【计算机网络】TCP与UDP的区别