leetcode第八題,字串向數字的轉換一題,答案用到了有限狀態自動機的方法,具體寫了乙個類
定義了四個狀態,start時開始,在start狀態如果接受到空格字元還是start,接受到正負號就變成signed狀態,如果在signed狀態下,接受到的字元不是數字字元,一律轉到end狀態(為題目所定義的規則)。
定義了函式get,根據讀到的字元改變狀態機的狀態state,table用unordered_map來定義,key是string型別,value相當於是字串陣列,table用來確定state,table的值是當前狀態state,鍵是根據下乙個字元而將改變成的狀態。
最終在solution類中只需要初始化該類,並且讀入字元,改變狀態機內部狀態,返回類成員sign和ans乘積即可
有限狀態自動機
有限自動機是更一般化的狀態轉化圖。分為確定有限自動機 dfa 和不確定有限自動機 nfa m s,f,so,z 其中 下圖為乙個確定的有限狀態自動機 m s,f,so,z 其中 下圖為乙個不確定的有限狀態自動機 說了半天其實它們的本質區別就在於s0,確定的有限狀態自動機的s0是唯一確定的。而不確定的...
有限狀態自動機
有限自動機是更一般化的狀態轉化圖。分為確定有限自動機 dfa 和不確定有限自動機 nfa m s,f,so,z 其中 下圖為乙個確定的有限狀態自動機 m s,f,so,z 其中 下圖為乙個不確定的有限狀態自動機 說了半天其實它們的本質區別就在於s0,確定的有限狀態自動機的s0是唯一確定的。而不確定的...
有限狀態自動機
背景提要 星期三的時候,xw交給我乙個點燈的任務 大意是乙個玩意單擊的時候如何如何,長按又如何如何,雙擊又如何如何,幾種狀態分別執行不同的操作。這就導致了一種情況 在機器第一次檢測到按鈕被按下時,我們無法做出論斷 我們不知道這是一次雙擊還是長按還是單擊,我們只能靜觀其變,見機行事。但是按鈕被按下時,...