最小的K個數(C++牛客網)

解題思路:

(1)因爲求解的是前k個最大的數,那麼元素不能重合,使用set

(2)在插入的時候,順便排序,最後取前k個

class Solution {
public:
    vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
        set<int> s; vector<int> v;
        if(k>input.size()) return v;
        for(auto w:input) s.insert(w);
        for(auto it=s.begin();k>0;it++,k--) v.push_back(*it);
        return v;
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章