We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • Hackerrank Home
  • Prepare
    NEW
  • Certify
  • Compete
  • Career Fair
  • Hiring developers?
  1. Prepare
  2. Data Structures
  3. Queues
  4. Queries with Fixed Length
  5. Discussions

Queries with Fixed Length

Problem
Submissions
Leaderboard
Discussions
Editorial

    You are viewing a single comment's thread. Return to all comments →

  • raazi_sheikh
    7 months ago+ 1 comment

    C++ deque solution

    vector<int> solve(vector<int> arr, vector<int> queries) {
        vector<int> result;
        for(int i=0;i<queries.size();i++)
        {
            int k=queries[i];
            vector<int> v;
            deque<int> dq;
            for(int i=0;i<k;i++)
            {
                while(dq.empty()!=true && arr[i]>arr[dq.back()])
                    dq.pop_back();
                dq.push_back(i);
            }
            for(int i=k;i<arr.size();i++)
            {
                v.push_back(arr[dq.front()]);
                while(dq.empty()!=true && dq.front()<=i-k)
                    dq.pop_front();
                while(dq.empty()!=true && arr[i]>=arr[dq.back()])
                    dq.pop_back();
                dq.push_back(i);
            }
            v.push_back(arr[dq.front()]);   
            sort(v.begin(),v.end());
            result.push_back(v[0]);
        }
        return result;
    }
    
    0|
    Permalink
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy