濮阳网站建设0393seo口碑营销的定义
牛客网: BM51
题目: 数组中只有1个数字出现次数超过一半,找出这个数字
思路: 投票计数vote==0, 遍历数组,vote为0时,num赋值为当前值, num与当前值相等时,vote增加, 否则vote减小,只有1个数字出现次数超过一半,最终vote为正,同时num值即为对应的值。
代码:
// gopackage main
// import "fmt"/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型一维数组 * @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
}