当前位置: 首页 > news >正文

C++笔试强训day16

目录

1.字符串替换

2.神奇数

3.DNA序列


1.字符串替换

链接

简单的遍历替换即可:

class Solution {
public:string formatString(string str, vector<char>& arg) {string ret;int k = 0;for (int i = 0; i < str.size(); ++i){if (str[i] == '%'){ret += arg[k++];++i;}else{ret += str[i];}}if (k != arg.size()){while (k != arg.size()){ret += arg[k++];}}return ret;}
};

替换完之后别忘了后面的剩余字符。

2.神奇数

链接

一个检查是否为质数的函数,一个检查是否为神奇数的函数。

然后for循环遍历数组即可。

#include <iostream>
using namespace std;
bool Check_zs(int x) {if (x == 1)return false;for (int i = 2; i < x; ++i)if (x % i == 0)return false;return true;
}
bool Check_sq(int x) {int arr[10] = { 0 };int cnt = 0;int k = 0;while (x) {arr[k++] = x % 10;x /= 10;cnt++;}for (int i = 0; i < cnt; ++i) {for (int j = i + 1; j < cnt; ++j) {if (Check_zs(arr[i] * 10 + arr[j]) && arr[i] != 0) {return true;}}}for (int i = cnt - 1; i >= 0; --i) {for (int j = i - 1; j >= 0; --j) {if (Check_zs(arr[i] * 10 + arr[j]) && arr[i] != 0) {return true;}}}return false;
}
int main() {int l, r;cin >> l >> r;int cnt = 0;for (int i = l; i <= r; ++i) {if (Check_sq(i)) {cnt++;}}cout << cnt << endl;return 0;
}

注意细节:不要出现前导0。

3.DNA序列

链接

#include <iostream>
#include <vector>
using namespace std;
vector<pair<int, float>> vp(1010);
int main() {string s;int n;cin >> s >> n;int l = 0;int k = 0;while (l != s.size() - n + 1){int cnt = 0;for (int i = l; i < l + n; ++i)if (s[i] == 'C' || s[i] == 'G')cnt++;vp[k++] = { l, (float)cnt / n };l++;}int keyi = 0;float Max = 0.0;for (int i = 0; i < k; ++i)if (vp[i].second > Max){keyi = vp[i].first;Max = vp[i].second;}for (int i = keyi; i < keyi + n; ++i)cout << s[i];cout << endl;return 0;
}

我的思路是遍历所有长度为n的子串,找到比例最高的一串。

类似固定长度滑动窗口。

http://www.lryc.cn/news/346131.html

相关文章:

  • spsr 的恢复出错,导致 thumb 指令集的 it 条件运行指令运行异常,清晰的调试思路帮助快速解决问题
  • mysql binlog 如何区分db
  • ESP32 IDF linux下开发环境搭建
  • 光伏电站智能管理平台功能全面介绍
  • SSL证书 购买流程
  • C++|二叉搜索树
  • 网页html版面分析-- BeauifulSoup(python 文档解析提取)
  • 第五十八节 Java设计模式 - 适配器模式
  • 程序员的归宿。。
  • ROS服务器通信
  • 双向带头循环链表(图解)
  • 富文本编辑器 iOS
  • 【OceanBase诊断调优】—— checksum error ret=-4103 问题排查
  • 融合Transformer与CNN,实现各任务性能巅峰,可训练参数减少80%
  • K8s 多租户管理
  • Java面试题:Synchronized和Lock的对比
  • VPN方案和特点
  • 力扣HOT100 - 84. 柱状图中最大的矩形
  • 【吃透Java手写】3-SpringBoot-简易版-源码解析
  • maven mirrorOf的作用
  • Centos7 安装 MySQL5.7 使用 RPM 方式
  • 代码随想录算法训练营day21 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
  • 微信小程序知识点归纳(一)
  • wangEditor富文本编辑器与layui图片上传
  • 爬虫学习:XPath提取网页数据
  • 【雅思写作】Vince9120雅思小作文笔记——P1 Intro(前言)
  • 【面试干货】HTTPS 工作原理
  • Cocos Creator 中编码规范 (6)
  • Vue3:menu导航栏出现多个同一跳转路径的菜单处理
  • SAM轻量化应用Auto-SAM、Group-Mix SAM、RAP-SAM、STLM