package main
import (
"fmt"
)
var arr = []int{1, 4, 5, 6, 7, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5}
//找出出现概率大于或者等于百分之50的数
func find_num(arr []int) int {
len1 := len(arr)
if len1 <= 1 {
return arr[0]
}
count := 0 //通过一个计算器来计算,
//比方说[1,4,4]或者[4,1,4]去掉第一个第二个(1或者4),剩下的4的概率也大于等于百分之50
last := arr[0]
num := arr[0]
for i := 1; i < len1; i++ {
if arr[i] == last {
count++
num = arr[i]
} else {
last = arr[i]
if count > 0 {
count--
} else {
num = arr[i]
}
}
}
return num
}
func main() {
fmt.Printf("the over 50 precent num is %d\n ", find_num(arr))
}
转载于:https://my.oschina.net/yang1992/blog/546403