[プログラミング問題]n個の数の中で最小のk個
1256 ワード
リンク:https://www.nowcoder.com/questionTerminal/cc727473d1e248ccb674eb31bd8683dc出典:牛客網はn個の数の中で最も小さいk個を探し出します
説明を入力:
出力の説明:
例1
入力
しゅつりょく
1つ目の方法は、コンテナを使用します.
2つ目の方法は配列です.
説明を入力:
n+1 , k ,n
100。
出力の説明:
n k 。
例1
入力
3 9 6 8 -10 7 -11 19 30 12 23 5
しゅつりょく
-11 -10 3 6 7
1つ目の方法は、コンテナを使用します.
#include
#include
#include
using namespace std;
int main(){
vector v;
int num;
while(cin>>num){
v.push_back(num);
}
int k=v[v.size()-1];
v.pop_back();
sort(v.begin(),v.end());
for(int i=0;i
2つ目の方法は配列です.
#include
#include
using namespace std;
int main(){
int a[100],n=0,temp,geshu;
set s;
char ch;
while(scanf("%d%c",&temp,&ch)){
a[n++]=temp;
s.insert(temp);
if(ch=='
')
break;
}
geshu=a[n-1];
set::iterator it;
it=s.find(geshu);
s.erase(it);
int k=0;
for(it=s.begin();it!=s.end();it++,k++)
{
if (k