Me
func findKthLargest(nums []int, k int) int {
sort.Ints(nums)
return nums[len(nums)-k]
}
golang实现快排和冒泡排序
1. bubbleSort
func swap(a *int, b *int) {
temp := *a
*a = *b
*b = temp
}
func bubbleSort(nums []int) {
for i:=0; i < len(nums); i++ {
for j:=0; j < i; j++ {
if nums[i] < nums[j] {
swap(&nums[i], &nums[j])
}
}
}
}
func findKthLargest(nums []int, k int) int {
bubbleSort(nums)
return nums[len(nums)-k]
}
2.quickSort
func findKthLargest(nums []int, k int) int {
quickSort(nums, 0, len(nums)-1)
fmt.Print(nums)
return nums[len(nums)-k]
}
func quickSort(arr []int, i, j int) {
if i < j {
mid := partition(arr, i, j)
quickSort(arr, i, mid-1)
quickSort(arr, mid+1, j)
}
}
func partition(arr []int, i, j int) int {
index := i-1
target := arr[j]
for left:=i; left < j; left++ {
if arr[left] < target {
index++
arr[index], arr[left] = arr[left], arr[index]
}
}
index++
arr[index], arr[j] = arr[j], arr[index]
return index
}