首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

<找工作 4>取n个数中最大的k个数

2012-12-21 
找工作 四取n个数中最大的k个数#! /usr/bin/env python#codingutf-8import randomdef kidSort(s,k):if

<找工作 四>取n个数中最大的k个数

#! /usr/bin/env python#coding=utf-8import randomdef kidSort(s,k):    if k<=0:        return []    if len(s)<=k:        return s    sa,sb=partition(s)        ta=kidSort(sa,k)        tb=kidSort(sb,k-len(sa))    ta.extend(tb)    return tadef partition(s):    Sa=[]    Sb=[]    rand=random.randint(0,len(s))    s[0],s[rand%len(s)]=s[rand%len(s)],s[0]    p=s[0]    for z in s[1:]:        if z>p:            Sb.append(z)        else:            Sa.append(z)                Sa.append(p)        return Sa,Sbprint kidSort([3,1,2,123,12,31,24,123,1,41,41,4,1,241,24,14,1,241,24],8)
?

快排+python,非常不错,

热点排行