题解 | #最小的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)
}
全部评论

相关推荐

生命诚可贵:先不说内容怎么样 排版就已经太差劲了 第一眼看不到重点,第二眼已经没有再看的耐心了, 篇幅占的太满了 字体不要用灰色 观感不好 想重点突出的黑色加粗就可以了 多列要点 少些大段的句子 项目经历把项目用的技术要点列出来,光写个python plc什么的太宽泛了 自我评价也有点偏多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务