#include <iostream> #include <string> #include <algorithm> #include <cmath> using namespace std; //第K小的数 int main() { int n; cin >> n; int arr[n]; for (int i = 0; i < n; i++) { cin >> arr[i]; } int K; cin >> K; sort(arr, arr + n); int count = 0; for (int i = 0; i < n; i++) { if (arr[i] != arr[i + 1]) count++; if (count == K) cout << arr[i]; } return 0; }
定义一个变量count记录当前元素是第几小,只在排序后的数组元素前后不相等时,count++。