最小的K个数_牛客题霸_牛客网 (nowcoder.com)
核心代码解答
class Solution { public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { int n=input.size(); vector<int>ans; if(n<k) { return ans; } sort(input.begin(),input.end()); for(int i=0;i<k;i++) { ans.push_back(input[i]);//使用push_back(),将input[i]加到容器里面 } return ans; } };
acm模式解答
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { vector<int>ans; int n,i,k,input[100010]; cin>>n>>k; for(int i=0;i<n;i++) { cin>>input[i]; } sort(input,input+n); for(int i=0;i<k;i++) { ans.push_back(input[i]); } vector<int>::iterator it;//使用迭代器输出vector里面的元素 for(it=ans.begin();it!=ans.end();it++) { cout<<*it;//输出vector里面的元素 } }
迭代器的作用是用来访问容器(用来保存元素的数据结构)中的元素
如果是逆向输出
vector<int>::reverse_iterator it; for(it=ans.rbegin();it!=ans.rend();it++) { cout<<*it; }
或者是
1014-[NOIP2006]明明的随机数_2021秋季算法入门班第一章习题:模拟、枚举、贪心 (nowcoder.com)
#include<iostream> #include<set> using namespace std; int main() { set<int>q; int n; cin>>n; for(int i=0;i<n;i++) { int t; cin>>t; q.insert(t); } //sort(q.begin(),q.end());set自带排序 cout<<q.size()<<endl; for(auto d:q) { cout<<d<<' '; } return 0; }