题解 | #DNA序列#
DNA序列
http://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
- 这种滑动的建议用带pair的vector,用字典会覆盖。
#include<bits/stdc++.h> using namespace std; int N; float cal(string s){ float num =0; for(int i=0; i< s.size();i++){ if(s[i]=='C'|| s[i]=='G'){ num++; } } return num/N; } int main(){ string s; while(cin>>s>>N){ float ratio; vector<pair<float,string>> v; float max_ratio =0.0; for(int i = 0; i<= s.size()-N;i++){ ratio = cal(s.substr(i,N)); v.push_back({ratio,s.substr(i,N)}); max_ratio = max(max_ratio,ratio); } for(auto it = v.begin();it!=v.end();it++){ if(it->first==max_ratio){ cout<<it->second<<endl; break; } } } return 0; }
大厂笔试题题解 文章被收录于专栏
主要是公司笔试题得一些总结