-
暴力解法
- 排序后枚举遍历
- 记录数组
-
算法实现
//快排后遍历
#include<iostream>
using namespace std;
void Qsort(int arr[], int L, int R)
{
if (L >= R)
return;
int pivot;
int i = L;
int j = R;
pivot = arr[L];
while (i < j)
{
while (arr[j] > pivot&&i<j)
j--;
while (arr[i] <= pivot&&i<j)
i++;
if (i < j)
swap(arr[i], arr[j]);
}
swap(arr[i], arr[L]);
Qsort(arr, L, i - 1);
Qsort(arr, i + 1, R);
}
int main()
{
int n;
cin >> n;
int* arr = new int[n];
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
Qsort(arr, 0, n - 1);
for (int i = 1;; i++)
{
if (i != arr[i - 1])
{
cout << i;
return 0;
}
}
}
//记录数组
#include<iostream>
using namespace std;
int main()
{
int n;
int num = 1;
cin >> n;
int arr[100] = { 0 };
int arr1[100] = { 0 };
for (int i = 0; i < n; i++)
{
cin >> arr[i];
if (arr[i] > 0)
arr1[arr[i]]++;
}
for (int i = 1;; i++)
{
if (arr1[i] == 0)
{
cout << i;
return 0;
}
}
}