题解 | #明明的随机数#
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
int partition(vector<int>& arr,int low,int high)
{
int pivot=arr[high];
int i = low-1;
for(int j=low;j<high;j++){
if(arr[j]<arr[high]){
i++;
swap(arr[i],arr[j]);
}
}
swap(arr[i+1],arr[high]);
return i+1;
}
void quickSort(vector<int>& arr,int low,int high)
{
if(low<high){
int pi=partition(arr,low,high);
quickSort(arr,low,pi-1);
quickSort(arr,pi+1,high);
}
}
void quickSort(vector<int>& arr)
{
quickSort(arr,0,arr.size()-1);
}
int main() {
int n = 0;
cin >> n;
vector<int> num(n);
vector<int> num2;
for(int i=0;i<n;i++){
cin>> num[i];
}
quickSort(num);
vector<int>::iterator last = unique(num.begin(),num.end());
num.erase(last,num.end());
for(auto x:num)
cout<<x<<endl;
cout<<endl;
return 0;
}
查看10道真题和解析