求数组中最小的k个数
关键:冒泡,鲁棒性(考虑到所有情况)
class Solution {
public:
vector<int> GetLeastNumbers_Solution(vector<int> input, int k) {
int temp;
vector<int>v;
if(input.size()<k)
{
input.clear();
return input;}
else
{
for(int i=0;i<input.size();i++)
{
for(int j=input.size()-1;j>i;j--)
{
if(input[j]<input[j-1])
{
temp=input[j];
input[j]=input[j-1];
input[j-1]=temp;
}
}
}
for(int i=0;i<k;i++)
{
v.push_back(input[i]);
}
return v;
}
}
};
}
}
for(int i=0;i<n;i++)//从小到大,注意最大数量
{
for(int j=n-1;j>i;j--)//从大到i,注意>
{
if(a[j-1]>a[j])//注意是j不是i
{
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}