由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - valid number这道题看到有人用有限状态机做 太牛不敢看
相关主题
leetcode上wild match求教Valid Sudoku
Leetcode Valid NumberL二电面据,附面经
不用暴力,这道题有没有优化解用有限状态机写了一下leetcode valid number
两道面试题,请大家说说看法写了一下leetcode上Valid Number,用boolean表示一些状态是不是比较简单
large file的一道题L家电面
问个算法题秒杀valid number
这个拷贝构造函数有什么问题?看看这道题
贴一个OJ 的 longest valid parenthesis这道题好像有点难
相关话题的讨论汇总
话题: int话题: return话题: skipdigit话题: char话题: const
进入JobHunting版参与讨论
1 (共1页)
t**r
发帖数: 3428
1
valid number这道题看到有人用有限状态机做 太牛不敢看
r****7
发帖数: 2282
2
我觉得状态机是最简单的方法。。。
那么多corner case,写code写死了

【在 t**r 的大作中提到】
: valid number这道题看到有人用有限状态机做 太牛不敢看
t*****a
发帖数: 106
3
有限状态机不是早被批的体无完肤了吗...早没人用了。 贴个code,按别人的
思想写的
class Solution {
public:
int skipwhitespace(const char *p)
{
int i=0;
while(*(p+i)==' ') i++;
return i;
}
int skipsign(const char *p)
{
if(*p=='+'||*p=='-') return 1;
return 0;
}
int skipdigit(const char *p)
{
int i=0;
while(isdigit(*(p+i))) i++;
return i;
}
bool isNumber(const char *s) {
char *p=const_cast(s);
if(p==NULL) return false;
p+=skipwhitespace(p);
p+=skipsign(p);
int n1=skipdigit(p);
p+=n1;
if(*p=='.') p++;
int n2=skipdigit(p);
if(n1==0&&n2==0) return false;
p+=n2;
if(*p=='e'||*p=='E')
{
p++;
p+=skipsign(p);
int n3=skipdigit(p);
if(n3==0) return false;
p+=n3;
}
p+=skipwhitespace(p);
return *p=='\0';
}
};
I*******g
发帖数: 7600
4
很简单的,
我以前在工作中实现过
比这还复杂
有10 个 states
e.g -0.4E-8.86
or (2/3)e(1-1/8)

【在 t**r 的大作中提到】
: valid number这道题看到有人用有限状态机做 太牛不敢看
m*****k
发帖数: 731
5
求代码。

【在 I*******g 的大作中提到】
: 很简单的,
: 我以前在工作中实现过
: 比这还复杂
: 有10 个 states
: e.g -0.4E-8.86
: or (2/3)e(1-1/8)

1 (共1页)
进入JobHunting版参与讨论
相关主题
这道题好像有点难large file的一道题
leetcoede新题Valid Palindrome问个算法题
这道题咋做?这个拷贝构造函数有什么问题?
gas station这道题有个case过不了贴一个OJ 的 longest valid parenthesis
leetcode上wild match求教Valid Sudoku
Leetcode Valid NumberL二电面据,附面经
不用暴力,这道题有没有优化解用有限状态机写了一下leetcode valid number
两道面试题,请大家说说看法写了一下leetcode上Valid Number,用boolean表示一些状态是不是比较简单
相关话题的讨论汇总
话题: int话题: return话题: skipdigit话题: char话题: const