题解 | #寻找第K大#

寻找第K大

http://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf

class Solution {
public:
    int findKth(vector<int> a, int n, int K) 
    {
        // write code here
        if(K <= 0)return -1;
        vector<int> vecKth;
        for(int i = 0; i < a.size(); i++)
        {
            if(vecKth.size() < K)
            {
                vecKth.push_back(a[i]);
            }
            else
            {
                int nMinNumIndex = 0;
                int nMinNum = vecKth[0];
                for(int j = 1; j < vecKth.size(); j++)
                {
                    if(vecKth[j] < nMinNum)
                    {
                        nMinNum = vecKth[j];
                        nMinNumIndex = j;
                    }
                }
                if(nMinNum < a[i])
                {
                    int nTmp = vecKth[nMinNumIndex];
                    vecKth[nMinNumIndex] = a[i];
                    a[i] = nTmp;
                }
            }
        }
        for(int i = 0; i < vecKth.size() - 1; i++)
        {
            for(int j = 0; j < vecKth.size() - 1 - i; j++)
            {
                if(vecKth[j] < vecKth[j+1])
                {
                    int nTmp = vecKth[j];
                    vecKth[j] = vecKth[j+1];
                    vecKth[j+1] = nTmp;
                }
            }
        }
        return vecKth[K-1];
    }
};

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
2022-12-06 22:26
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
头像
2022-12-16 14:39
门头沟学院_2024
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议