更快的輸入掃描以增強程式碼效能
提供的程式旨在解決 SPOJ 的程式設計挑戰。但是,輸入掃描過程似乎導致逾時問題。儘管利用 bufio 來加快輸入讀取速度,但程式碼仍遇到此問題。
為了解決這個問題,讓我們來探索兩種最佳化技術:
1.使用bufio.Scanner
我們可以使用bufio.Scanner,而非使用fmt.Fscan 進行逐行輸入讀取。此方法透過利用 Bytes() 方法簡化了流程,該方法直接傳回原始位元組而不是將它們轉換為字串。
2.自訂整數轉換函數
為了進一步提高速度,我們可以引入一個專門的轉換器函數toInt(),它可以有效地從bufio. Scanner 獲得的原始位元組中提取整數。該函數直接將表示十進制數字的位元組序列轉換為整數,消除了字串轉換的開銷。
合併這些最佳化的更新程式碼如下:
透過結合 bufio .Scanner透過自訂toInt()函數,顯著提高了輸入讀取和轉換的效率。因此,這個最佳化的解決方案預計將比原始版本執行得更快,解決先前遇到的逾時問題。
以上是如何優化 Go 中的輸入掃描以避免競爭性程式設計逾時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!