#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; }