記我兩次遇到字符串轉數字的算法題的經歷

起因是今天我在 LeetCode 上遇到這個題:String To Integer

剛看到這個題目的時候我就想到了曾經有次面試就是遇到的這個題,當時面試官描述的是:“寫個算法把所有能轉成數字的字符串轉成數字。”腦回路清奇的我覺得所有字符串都能轉的,只是有的會溢出有的不會。當時我是這樣想的:字符串 abc 可以轉成 979899 (現查的 a 的 ASCII 值是 97),完美!然后我一臉懵逼,遲疑地說了句:“有什么不能轉的嗎?”面試官當然 get 不到我的點,很干脆地說:“你先寫寫看吧。”然后我就一通寫,寫得如何垃圾我也忘了,反正最后寫完我才發現我和面試官好像不在一個次元。:)

面試結果不用說了,說說我這次再遇到這個題的表(zuo)現(si)。

看完題目我就 get 了這個題的意思,描述也是簡單的一句話就沒了,描述后面的我也沒細看,一掃覺得是 hint 之類的等我寫完再看吧。然后我又是一通寫,用的 JS 還能機智地返回 NaN、POSITIVE_INFINITY 等信息,最大最小也能通過 Number.MAX_VALUE 等獲得,雖然遇到一些小坑(最小不是負數)但是寫完以后的我覺得這次的表現簡直 perfect !我甚至想到了在溢出后判斷后面是否含有非數字以確定是返回 NaN 還是 INFINITY !結果一跑一個錯誤——不是 NaN 是0;給定了最大而不是我臆想的 Number.MAX_VALUE;溢出返回最大或最小值。

在終于 accepted 以后我才發現描述的后面的后面的后面有個 click to show requirements for atoi ,里面詳細說明了需求。:)

最后我覺得我終于 get 了這個題目的真諦。這個題重要的根本不是算法而是你能想到哪些用例!可能面試的時候一一問出 xxx 對應要返回什么就不用實際寫了。:)

以上,我覺得我想寫些什么的全部。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容