|
@@ -0,0 +1,33 @@
|
|
|
|
+package main
|
|
|
|
+
|
|
|
|
+import "fmt"
|
|
|
|
+
|
|
|
|
+func main() {
|
|
|
|
+ var nums []int
|
|
|
|
+
|
|
|
|
+ nums = []int{1}
|
|
|
|
+ fmt.Println(majorityElement(nums))
|
|
|
|
+
|
|
|
|
+ nums = []int{3, 2, 3}
|
|
|
|
+ fmt.Println(majorityElement(nums))
|
|
|
|
+
|
|
|
|
+ nums = []int{2, 2, 1, 1, 1, 2, 2}
|
|
|
|
+ fmt.Println(majorityElement(nums))
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func majorityElement(nums []int) int {
|
|
|
|
+ var record = map[int]int{}
|
|
|
|
+ var index, count int = 0, 0
|
|
|
|
+ var i int
|
|
|
|
+ for i = 0; i < len(nums); i++ {
|
|
|
|
+ if _, ok := record[nums[i]]; !ok {
|
|
|
|
+ record[nums[i]] = 0
|
|
|
|
+ }
|
|
|
|
+ record[nums[i]] = record[nums[i]] + 1
|
|
|
|
+ if count < record[nums[i]] {
|
|
|
|
+ count = record[nums[i]]
|
|
|
|
+ index = nums[i]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return index
|
|
|
|
+}
|