题解 | #数组中出现次数超过一半的数字# go实现
数组中出现次数超过一半的数字
http://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
go实现
package main /** * * @param numbers int整型一维数组 * @return int整型 */ func MoreThanHalfNum_Solution( numbers []int ) int { // write code here if len(numbers) == 0 { return 0 } most := numbers[0] count := 0 for _, x := range numbers { if x == most { count++ }else{ count-- } if count <=0 { count = 1 most = x } } count = 0 for _, x := range numbers { if x == most { count++ } } if count > len(numbers)/2 { return most } return 0 }