Genomic_Range_Query
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
Comments