牛客網做演算法題時go語言讀取標準輸入的方法

2021-10-03 22:27:35 字數 733 閱讀 8730

最近由於面試需要使用牛客網的 oj 系統,感覺特別不習慣。之前都是在 leetcode 上做演算法題,所以對需要自己處理輸入輸出的方式特別不熟悉,搗鼓了好一小會。這裡做乙個小記錄,也是乙個分享吧。

演算法題demo:a+b

每行包含兩個整數a和b

對於每行輸入對應輸出一行a和b的和

輸入1 5

輸出6

fmt.scan 只識別空格,同時會將換行判斷為空格,做法如下(牛客官網示例)

package main

import

("fmt"

"io"

)func

main()

fmt.

println

(a + b)

}}

對於有的演算法題,使用 fmt.scan 按空格讀取是無法處理輸入資料的。比方說輸入為 「a s d f-q w e r」,"-" 的左右部分內容是一組輸入,這需要我們去掉"-"。這時我們就可以使用 bufio.newscanner(os.stdin) 按行讀取。還是以 『a+b』 舉例,如下:

package main

import

("bufio"

"fmt"

"os"

"strconv"

"strings"

)func

main()

}

牛客網 Go語言相關練習 選擇題(2)

注 題目 均出自牛客網。map 集合 屬於go的內建型別,不需要引入其它庫即可使用。go map 菜鳥教程 在函式宣告中,返回的引數要麼都有變數名,要麼都沒有。c選項函式宣告語法有錯誤,error是返回型別,但沒有返回名。go語言中字串是utf 8編碼並儲存的,它語言不定長的位元組,所以它不支援下標...

牛客網刷題 C語言 吃糖果

名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名 盒內共有 n 塊巧克力,20 n 0 媽媽告訴名名每天可以吃一塊或者兩塊巧克力。假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。例如 如果n 1,則名名第1天就吃掉它,共有1種方案 如果n 2,則名名可以第1天吃1塊,第2天...

牛客網C語言刷題 大整數的因子

已知正整數k滿足2 k 9,現給出長度最大為30位的十進位製非負整數c,求所有能整除c的k.若干個非負整數c,c的位數 30 每行乙個c每乙個c的結果佔一行 1 若存在滿足 c k 0 的k,輸出所有這樣的k,中間用空格隔開,最後乙個k後面沒有空格。2 若沒有這樣的k則輸出 none 注意整數溢位問...