Genomic_Range_Query

PHOTO EMBED

Wed Jun 22 2022 19:31:50 GMT+0000 (Coordinated Universal Time)

Saved by @jacobsfo

#include <algorithm>
#include <iostream>
#include <string>
#include <sstream>

using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;

vector<int> solution(string &S, vector<int> &P, vector<int> &Q) {
    vector<int>done;
    vector<int>cache;

    // write your code in C++14 (g++ 6.2.0)
    string final = " ";
    for(int i = 0; i < S.length();i++)
    {
        if(S[i]=='A')
        {
            final+="1";
        }
        if(S[i]=='C')
        {
            final+="2";
        }
        if(S[i]=='G')
        {
            final+="3";
        }
        if(S[i]=='T')
        {
            final+="4";
        }
    }
    std::vector<int> digits;
int number = stoi(final);
    while (number != 0) {
        digits.insert(digits.begin(), number % 10);
        number /= 10;
    }

    // for (auto const i : digits) {
    //     std::cout << i << " "; 
    // }
    for(int i = 0; i < P.size();i++)
    {
        for(int j = P[i]; j <= Q[i]; j++)
        {    
             cache.push_back(digits[j]);
           //  cout << cache[i] << endl;
  
        }
  int min = *min_element(cache.begin(),cache.end());
          //  cout << min << endl;
             done.push_back(min);
      cache.clear();
    }

    // for(int i = 0; i < Q.size();i++)
    // {
    //     string sub = final.substr(P[i],Q[i]);
    //    // stringstream strm;
    //     for(int j = 0; j < sub.length();j++)
    // {   //   strm << sub[i];
    //       ccache.push_back(sub[j]);
    //       cout << ccache[j] << endl;
    //       cache.resize(ccache.size());
    //       cache[j]= (int)ccache[j];
    //       // cout << ccache[j] << endl;
    // }
     
     
    // cout << *min_element(cache.begin(),cache.end()) << endl;
    // // done.push_back(*min_element(cache.begin(),cache.end())
    // cache.clear();
    // ccache.clear();
    // }
return done;
}
content_copyCOPY