Beispiel #1
0
void problem(int n){
    switch(n){
        case 123:{
            //int a[] = {-2 , 1 , -3 , 4 , -1 , 2 , 1 , -5 , 4};
            int a[] = {1 , 2 , 3 , 0 , 2};
            int len = sizeof(a) / sizeof(int);
            vector<int> in(a , a + len);
            cout << maxProfit2(in) << endl;
            }
            break;
        case 121:{
            //int a[] = {-2 , 1 , -3 , 4 , -1 , 2 , 1 , -5 , 4};
            int a[] = {1 , 2 , 3 , 0 , 2};
            int len = sizeof(a) / sizeof(int);
            vector<int> in(a , a + len);
            cout << maxProfit(in) << endl;
            }
            break;
        case 279:{
                cout << numSquares(12) << endl;
                cout << numSquares(13) << endl;
            }
            break;
        case 309:{
            //int a[] = {-2 , 1 , -3 , 4 , -1 , 2 , 1 , -5 , 4};
            int a[] = {1 , 2 , 3 , 0 , 2};
            int len = sizeof(a) / sizeof(int);
            vector<int> in(a , a + len);
            cout << maxProfit_cooldown(in) << endl;
            }
            break;
        case 343:{
                cout << integerBreak(5) << endl;
                cout << integerBreak(10) << endl;
            }
            break;
        case 338:{
                showVector(countBits(5));
                showVector(countBits(15));
            }
            break;
        case 70:{
                    cout << climbStairs(5) << endl;
                    cout << climbStairs(15) << endl;
                    cout << climbStairs(8) << endl;
            }
            break;
        case 53:{
            //int a[] = {-2 , 1 , -3 , 4 , -1 , 2 , 1 , -5 , 4};
            int a[] = {-2 , -1 , -3};
            int len = sizeof(a) / sizeof(int);
            vector<int> in(a , a + len);
            cout << maxSubArray(in) << endl;
            }
            break;
        default:
            break;
    }
}
 int numSquares(int n, vector<int>& res) {
     if(n == 0) return 0;
     if(res[n] != -1) return res[n];
     int max_squ = sqrt(n);
     if(max_squ*max_squ == n) {
         res[n] = 1;
         return 1;
     }
     int least = INT_MAX;
     for(int i=1; i<=max_squ; ++i) {
         int val = 1 + numSquares(n-i*i, res);
         if(val < least) least = val;
     }
     res[n] = least;
     return least;
 }
Beispiel #3
0
std::vector<pf::Corners> getCornersSamples(size_t index) {

    cv::Size numSquares(NUM_HOR_SQUARES, NUM_VER_SQUARES);
    cv::VideoCapture capture(index + 1);

    if (!capture.isOpened()) {
        std::cerr << "Can't open the camera" << std::endl;
        std::exit(-1);
    }

    capture.set(CV_CAP_PROP_FPS, FRAMES_PER_SECOND);

    std::vector<pf::Corners> cornersSamples;
    bool started = false;
    clock_t time = 0;

    while (cornersSamples.size() < NUM_FRAMES) {

        // Capture frame
        cv::Mat frame;
        capture >> frame;

        // Find chessboard corners
        auto found = findChessboardCorners(frame);

        if (found.second && started && clock() - time > DELAY_BETWEEN_FRAMES) {
            time = clock();
            cornersSamples.push_back(found.first);
            cv::bitwise_not(frame, frame);
        }

        // Show image
        cv::drawChessboardCorners(frame, numSquares, cv::Mat(found.first), found.second);
        cv::imshow("Calibrate", frame);

        // Wait for 's' to start
        if (cv::waitKey(100) == 's') {
            started = true;
        }
    }

    return cornersSamples;
}
 int numSquares(int n) {
     vector<int> res(n+1, -1);
     return numSquares(n, res);
 }