QR6 字符串替换(简单)(模拟)
字符串替换_牛客题霸_牛客网 (nowcoder.com)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str string字符串 原串
* @param arg char字符型vector 需替换数组
* @return string字符串
*/
string formatString(string str, vector<char>& arg) {
int k=str.find('%');
int i=0;
while(k!=-1)
{
str[k]=arg[i++];
str.erase(k+1,1);
k=str.find('%');
}
while(i<arg.size())
{
str+=arg[i++];
}
return str;
}
};
神奇数(简单)(模拟,素数)
神奇数_牛客笔试题_牛客网 (nowcoder.com)
#include <bits/stdc++.h>
using namespace std;
bool is_prime[100];
bool check(int x) {
string s = to_string(x);
for(int i = 0; i < s.size(); i++) {
for(int j = 0; j < s.size(); j++) {
if(s[i] == '0' || i == j) continue;
int num = 10*(s[i] - '0') + (s[j] - '0');
if(is_prime[num]) return true;
}
}
return false;
}
int main() {
is_prime[11] = is_prime[13] = is_prime[17] = is_prime[19] = is_prime[23] = is_prime[29] = is_prime[31] = is_prime[37] = is_prime[41] = is_prime[43] = is_prime[47] = is_prime[53] = is_prime[59] = is_prime[61] = is_prime[67] = is_prime[73] = is_prime[79] = is_prime[83] = is_prime[89] = is_prime[91] = is_prime[97] = true;
int a, b;
cin >> a >> b;
int ans = 0;
for(int x = a; x <= b; x++) {
if(x < 10) continue;
ans += check(x);
}
cout << ans << endl;
return 0;
}
DNA序列 (简单)(滑动窗口)
DNA序列_牛客题霸_牛客网 (nowcoder.com)
#include <iostream>
#include<string>
using namespace std;
int main() {
string str;
cin>>str;
int n;
cin>>n;
int left=0,right=n-1;
int sum=n;
int tar=0;
for(int i=left;i<=right;i++)
{
if(i<str.size())
{
if(str[i]=='C'||str[i]=='G') tar++;
}
}
double ratio=(double)tar/sum;
string ret=str.substr(0,n);
while(right<str.size())
{
if(str[left]=='C'||str[left]=='G') tar--;
left++;
if(right<str.size()-1)
{
if(right+1<str.size()&&(str[right+1]=='C'||str[right+1]=='G')) tar++;
right++;
double r=(double)tar/sum;
if(r>ratio)
{
ratio=r;
ret=str.substr(left,n);
}
}
else right++;
}
cout<<ret;
}
// 64 位输出请用 printf("%lld")