www.網(wǎng)站建設google引擎免費入口
??途W(wǎng): BM51
題目: 數(shù)組中只有1個數(shù)字出現(xiàn)次數(shù)超過一半,找出這個數(shù)字
思路: 投票計數(shù)vote==0, 遍歷數(shù)組,vote為0時,num賦值為當前值, num與當前值相等時,vote增加, 否則vote減小,只有1個數(shù)字出現(xiàn)次數(shù)超過一半,最終vote為正,同時num值即為對應的值。
代碼:
// gopackage main
// import "fmt"/*** 代碼中的類名、方法名、參數(shù)名已經(jīng)指定,請勿修改,直接返回方法規(guī)定的值即可** * @param numbers int整型一維數(shù)組 * @return int整型
*/
func MoreThanHalfNum_Solution( numbers []int ) int {// write code herevote := 0num := -1for _, v := range numbers {if vote == 0 {num = v}if num == v {vote++} else {vote--}}return num
}