Advertisement
Guest User

Untitled

a guest
Sep 17th, 2014
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. int solution(vector<int> &A) {
  2.     vector<bool> indexNotInArray (A.size() + 1, true);
  3.     for (size_t i = 0; i < A.size(); ++i) {
  4.         if (A[i] <= 0) {
  5.             continue;
  6.         } else if (A[i] > A.size()) {
  7.             continue;
  8.         } else {
  9.             indexNotInArray[A[i]] = false;
  10.         }
  11.     }
  12.     for (size_t i = 1; i < indexNotInArray.size(); ++i) {
  13.         if (indexNotInArray[i]) {
  14.             return i;
  15.         }
  16.     }
  17.     return A.size() + 1;
  18. }
  19.  
  20. int main() {
  21.     // Parameters
  22.     int minInt = std::numeric_limits<int>::min();
  23.     int maxInt = std::numeric_limits<int>::min();
  24.     int arraySize = 10000;
  25.     int numRuns = 10000;
  26.     int result;
  27.  
  28.     // Time and randomization
  29.     std::chrono::time_point<std::chrono::system_clock> start, end;
  30.     double runtime = 0;
  31.     std::chrono::duration<double> elapsedSeconds;
  32.     std::default_random_engine generator;
  33.     std::uniform_int_distribution<int> distribution(minInt, maxInt);
  34.     vector<int> array;
  35.  
  36.     for (size_t i = 0; i < numRuns; ++i) {
  37.         for (size_t j = 0; j < arraySize; ++j) {
  38.             array.push_back(distribution(generator));
  39.         }
  40.         start = std::chrono::high_resolution_clock::now();
  41.  
  42.         //result = solution(array);
  43.         std::sort(array.begin(), array.end());
  44.  
  45.         end = std::chrono::high_resolution_clock::now();
  46.         std::chrono::duration<double> elapsedSeconds = end-start;
  47.         runtime += elapsedSeconds.count();
  48.         array.clear();
  49.     }
  50.  
  51.     std::cout << "Elapsed time: " << runtime << "s\n";
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement