| 1234567891011121314151617181920212223242526272829303132333435 | 
							- package main
 
- func majorityElementOld(nums []int) int {
 
- 	m := map[int]int{}
 
- 	n := int(len(nums) / 2)
 
- 	for _, v := range nums {
 
- 		m[v]++
 
- 		if m[v] > n {
 
- 			return v
 
- 		}
 
- 	}
 
- 	return 0
 
- }
 
- // ~ little trick
 
- func majorityElement(nums []int) int {
 
- 	var cnt = 0
 
- 	var num int
 
- 	for _, v := range nums {
 
- 		if cnt == 0 {
 
- 			num = v
 
- 		}
 
- 		if v == num {
 
- 			cnt++
 
- 		} else {
 
- 			cnt--
 
- 		}
 
- 	}
 
- 	return num
 
- }
 
- // func main() {
 
- // 	arr := []int{1, 1, 3}
 
- // 	fmt.Println(majorityElement(arr))
 
- // }
 
 
  |