DFA:字符串转换整数

这篇博客探讨了如何利用确定有限自动机(DFA)将字符串转化为整数,重点介绍了转换过程中的关键条件和状态。以LeetCode的8. 字符串转换整数 (atoi)为例,说明如何构建DFA状态机,并通过状态变量记录当前状态,通过函数get_col获取字符对应的状态。文章还提到利用表格来表示状态转移,从而实现字符串到整数的转换代码实现。
摘要由CSDN通过智能技术生成

Deterministic Finite Automaton
自动机

主要是要明确 :

状态表
其中表格状态可以用unordered_map构造,并且用一个state(int)记录当前的状态, get_col(char c)获取状态,table获取state行状态。

于是可以写出代码:

class Automation{
    int state=1;
    unordered_map<int,vector<int> > table={
        {1,{1,2,3,4}},
        {2,{4,4,3,4}},
        {3,{4,4,3,4}},
        {4,{4,4,4,4}}
    };
    int get_col(char c)
    {
        if(isspace(c))return 0;
        if(c=='+'||c=='-')return 1;
        if(isdigit(c)) return 2;
        return 3;
    }
public:
    int sign=1;
    long long re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值