Re: [問題] 關於寫leet code的心態及寫法

作者: phycheout (等待紅顏老)   2016-06-24 08:26:11
小弟我也正在刷這些算法題
就拿你這題來說
當面試問到這題,我想面試官絕對不會你去用已經現有的reverse
而是要你自己去實現這個方法
那就要考慮複雜度的問題
既然是string 那使用其他的輔助空間是一定會需要的
string 通常會轉成char[]
若你用stack的話或是用另一個array來實現當然是沒問題
但是如果是我的話
我會選擇用兩個index, 一個在頭,一個在尾,然後swap
等到兩個index相遇的時候停止
這樣就可以減少一些額外的空間
目前參加刷題班,大陸人開的,雖然頗貴,但我覺得很有效率
至少比我以前在學校學的或是自己讀得更清楚些
※ 引述《shiningboy ()》之銘言:
: Leet code 很多人都有在寫,可是不知道大家寫code的心態是怎樣??
: 純就演算法的範圍
: 拿 easy 等級的一題來說
: 把 "Hello" 輸出成 "olleH"
: 如果只想要讓系統 pass 的話
: 最簡單的方法應該就是用 string reverse 相關的 method 就可以output這個結果
: 可是個人總覺得這不是寫leet code 應該要有的心態
: 所以就想說要把 string 轉成 char [],在用另外一個array配合迴圈去反過來接
: 又或者
: 用stack 把 char[] 一個一個push 進去 ,然後在pop 出來
: 這兩個方式感覺都有多用到一些資料結構,比起直接用 API 轉出來好多了
: 可是整個解題過程還是會用到 string 轉 char 的 API method
: 並不是完全自己寫,感覺就是練習練一半
: 但是如果要完全自己做的話,
: string , char 這些 基本型態好像也有點無關緊要
: 那class 這邊要自己實作一個 stack class ,裡面自己刻上 push() , pop()
: 在leet code系統上寫那麼長,感覺也沒意義
: 總之就是有一種傲嬌的心態 XDDDDDDDDDDDDDD
: 所以想問一下大家,大家覺得要用怎樣的方式去寫才算是有在練習呢?
: 另外再多問
: 如果面試要考題目,考題沒有註明不能用API,
: 而考題有那種直接用API 就可以跑出結果的,大家會怎麼做??
: 為了表現,自己刻?
: 不管,解決題目才是目的?
: 大家會怎麼做呢??
: 謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com