Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int solution(vector<int> &A) {
- vector<bool> indexNotInArray (A.size() + 1, true);
- for (size_t i = 0; i < A.size(); ++i) {
- if (A[i] <= 0) {
- continue;
- } else if (A[i] > A.size()) {
- continue;
- } else {
- indexNotInArray[A[i]] = false;
- }
- }
- for (size_t i = 1; i < indexNotInArray.size(); ++i) {
- if (indexNotInArray[i]) {
- return i;
- }
- }
- return A.size() + 1;
- }
- int main() {
- // Parameters
- int minInt = std::numeric_limits<int>::min();
- int maxInt = std::numeric_limits<int>::min();
- int arraySize = 10000;
- int numRuns = 10000;
- int result;
- // Time and randomization
- std::chrono::time_point<std::chrono::system_clock> start, end;
- double runtime = 0;
- std::chrono::duration<double> elapsedSeconds;
- std::default_random_engine generator;
- std::uniform_int_distribution<int> distribution(minInt, maxInt);
- vector<int> array;
- for (size_t i = 0; i < numRuns; ++i) {
- for (size_t j = 0; j < arraySize; ++j) {
- array.push_back(distribution(generator));
- }
- start = std::chrono::high_resolution_clock::now();
- //result = solution(array);
- std::sort(array.begin(), array.end());
- end = std::chrono::high_resolution_clock::now();
- std::chrono::duration<double> elapsedSeconds = end-start;
- runtime += elapsedSeconds.count();
- array.clear();
- }
- std::cout << "Elapsed time: " << runtime << "s\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement