我進行了面試程序設計,其中包括3名面試官,每人45分鐘。 雖然前兩個面試官給了我2-3短編碼問題(即反向鏈接的列表,使用蘭特(5)等(7)實施蘭特)第三面試官用於單問題全時隙:評估布爾表達式的值的算法
您將得到的字符串代表正確形成和加括號 由字符T,F,&,|,!,(,)和 空格組成的布爾表達式。 T代表True,F代表假,&代表邏輯AND,|對於 邏輯OR,!否定。 &的優先級高於|。所有這些 字符後跟輸入字符串中的空格。我要評估表達式的值 並打印它(輸出應該是T或F)。例如:輸入: ! (T | F & F)輸出:F
我試圖執行調度場算法的變化來解決問題(轉動中後綴形式輸入,然後以評價後綴表達式),但未能編碼它在給定的時間範圍內,所以我最終以僞代碼和文字解釋我想要的內容。
我的招聘人員說,前兩名面試官給我「HIRE」,而第三位面試官給了我「不打招呼」,由於最終決定是「合乎邏輯的」,他感謝我的時間。
我的問題: 你認爲這個問題適合於在白板上的代碼大約是: 40分鐘?對我來說,對於如此短的時間段和白板尺寸來說,似乎有很多代碼。 有沒有比使用Shunting碼算法解決這個問題更短的方法?