其實程式之美這本書,根本就是現代版的名題百則。我大概在八九年前,參加高中生資訊比賽時讀過這本 C 語言名題百則,而且也只看了前半部吧,記得高一時有學長拿第一題 "最長平台" (Plateau) (註) 來問我,當時我只會直觀地以暴力法解之,當他告訴我裡面的所謂正解後,我才明瞭原來解題可以這麼漂亮、這麼有趣,之後即讓我對 programming 產生很大的興趣。這本名題百則對當時參加比賽的眾學生而言,幾乎是人手一本,但我居然沒有,至今我無法成為個頂尖的程式員,大概是這個原因吧 (笑)。而程式之美這本書呢,他的全名為 "程式之美-微軟技術面試心得",雖然如此,但它並不是一本教人如何面試微軟,或是面試任何軟體公司的攻略,而是一本以許多的資訊及數學的問題為例,引導讀者如何思考一個問題,並列出各種解法的題庫,正如其名,探索程式之美麗。
註:已知一串由小排到大的陣列;平台的定義:是由一串連續相同元素所組成,而連續範圍也是有限制,不可能無止盡的。EX:1、2、2、3、3、3、4、5 其中 "1"、"2、2"、"3、3、3"、"4"、"5" 都是平台,寫程式讀入一串陣列,並找出最長平台 (上例中 "3" 就是最長平台)
沒有留言:
張貼留言