Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions Week_04/id_40/LeetCode_169_040.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package main

import (
"fmt"
"sort"
)

// 快速排序
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

为什么要快排呢?

func qsort(arr []int) []int {
if len(arr) < 2 {
return arr
} else {
pivot := arr[0]
var less []int
var greater []int
for _, value := range arr[1:] {
if value <= pivot {
less = append(less, value)
} else {
greater = append(greater, value)
}
}
var result []int
result = append(result, qsort(less)...)
result = append(result, pivot)
result = append(result, qsort(greater)...)
return result
}
}

//给数组排个序,因为众数数目大于全部数字数目的一半,直接返回中位数就行
func majorityElement(nums []int) int {
//quick_sort(nums, 0, len(nums)-1)
//nums = qsort(nums)
sort.Ints(nums)
return nums[len(nums)/2]
}

func main() {
test := []int{5, 3, 2, 4, 1, 6, 7}
quick_sort(test, 0, len(test)-1)
fmt.Println(majorityElement(test), "======")
test = []int{3, 3, 2}
quick_sort(test, 0, len(test)-1)
fmt.Println(test[len(test)/2], "======")
test = []int{2, 2, 1, 1, 1, 2, 2}
quick_sort(test, 0, len(test)-1)
fmt.Println(majorityElement(test), "======")
}
28 changes: 28 additions & 0 deletions Week_04/id_40/LeetCode_455_040.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package main

import (
"fmt"
"sort"
)

func findContentChildren(g []int, s []int) int {
sort.Ints(g)
sort.Ints(s)
child := 0
cookie := 0
for child < len(g) && cookie < len(s) {
if g[child] <= s[cookie] {
child++
}
cookie++
}
return child
}
func main() {
child := []int{1, 2, 3}
cookie := []int{1, 1}
fmt.Println(findContentChildren(child, cookie), "______")
child = []int{1, 2}
cookie = []int{1, 2, 3}
fmt.Println(findContentChildren(child, cookie), "______")
}