题解 | #最小的K个数#

最小的K个数

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

class Solution {
public:
    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) 
    {
        vector<int> vecLeastNumber;
        if(k <= 0) return vecLeastNumber;
        for(int i = 0; i < input.size(); i++)
        {
            if(vecLeastNumber.size() >= k)
            {
                //比较vecLeastNumber中最大的数和input[i],input[i]小则与最大数交换
                int nMaxNumIndex = 0;
                int nMaxNum = vecLeastNumber[0];
                for(int j = 0; j < vecLeastNumber.size(); j++)
                {
                    if(vecLeastNumber[j] > nMaxNum)
                    {
                        nMaxNum = vecLeastNumber[j];
                        nMaxNumIndex = j;
                    }
                }
                if(nMaxNumIndex != -1 && input[i] < nMaxNum)
                {
                    int nTmp = input[i];
                    input[i] = vecLeastNumber[nMaxNumIndex];
                    vecLeastNumber[nMaxNumIndex] = nTmp;
                }
            }
            else
            {
                vecLeastNumber.push_back(input[i]);
            }
        }
        return vecLeastNumber;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 12:02
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务