题解 | #最小的K个数#

最小的K个数

http://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 * 
 * @param input int整型一维数组 
 * @param k int整型 
 * @return int整型一维数组
*/
func GetLeastNumbers_Solution( input []int ,  k int ) []int {
    // write code here
    sort(input, 0, len(input) - 1)
    
    return input[0:k]

    
}


func sort(input []int, low, high int) {
	if low >= high {
		return
	}

	left := low
	right := high
	target := input[left]
	for  left < right && right < len(input) {
		for left < right && input[right] >= target {
			right--
		}
		for left < right && input[left] <= target  {
			left++
		}

		if left < right {
			tmp := input[left]
			input[left]  = input[right]
			input[right] = tmp
		}
	}
	tmp := input[left]
	input[left]  = input[low]
	input[low] = tmp
	sort(input, low, left - 1)
	sort(input, left + 1, high)
}
全部评论

相关推荐

感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务