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.hqwc.cn/news/688638.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用联合体判断一个机器是大端还是小端

如何使用联合体判断一个机器是大端还是小端 #include<iostream> using namespace std; union Checker//联合体中的数据共享内存 {int val;char ch[2]; }; int main() {Checker checker;checker.val 0x1234;if (checker.ch[0] 0x34)//数组中的数据是由低地址往高地址存放…

云贝教育 |【好课上新】ITSS服务工程师与服务经理认证培训

课程前言 ITSS是中国电子技术标准化研究院推出的&#xff0c;包含“IT 服务工程师”和“IT 服务经理”的系列培训。有效满足GB/T 28827.1 的符合性评估要求和ITSS服务资质升级要求。 IT 服务工程师”结合 IT服务从业人员能力规范和要求&#xff0c;从服务技术、服务技巧和服务…

【HDFS】关于HDFS-17497:在commit block时更新quota

链接:https://github.com/apache/hadoop/pull/6765 Ticket标题:The number of bytes of the last committed block should be calculated into the file length。 HDFS里,一个在写入的文件可能包含多个commited状态的块。 但是计算文件大小的时候,最后一个commited block并…

Java基础教程(20)-Java连接mysql数据库CURD

MYSQL是啥 这个应该不写的,根据文章题目来看,大概率是有所了解的;但是以防万一,简单说一下; MySQL数据库是一款广泛使用的关系型数据库管理系统(RDBMS),支持标准SQL语法,用户可以使用SQL语句对数据进行操作; IDEA中如何加载jar包到项目的类路径中 由于java连接mysql…

探索白啤:清爽与纯净的完善呈现

啤酒的世界色彩斑斓&#xff0c;各种风格迥异的啤酒满足着人们不同的口味需求。而在众多啤酒中&#xff0c;白啤以其与众不同的清爽与纯净口感&#xff0c;成为了许多人的心头好。Fendi club白啤作为精酿啤酒的代表&#xff0c;更是将这种口感发挥到了超卓。 Fendi club白啤的酿…

物联网平台之单体架构

介绍本文主要介绍平台的单体架构&#xff0c;包括各个组件之间的数据流描述以及所做的一些架构选择。在单体架构模式下&#xff0c;所有 ThingsKit 组件都在单个 Java 虚拟机 (JVM) 中启动&#xff0c;并共享相同的操作系统资源。由于 ThingsKit 是用 Java 编写的&#xff0c;因…

linux安装配置Docker保姆级教程

Docker到底是什么? Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。 容器是完全使用沙箱机制&#xff0c;相互之间…

远程智控BACnet/IP I/O模块助力Metasys系统无缝对接

江森自控的Metasys系统以其强大的综合管理能力成为众多楼宇自控项目的首选平台。然而&#xff0c;面对日益增长的个性化需求与复杂多变的设备接入挑战&#xff0c;如何高效、灵活地扩展其I/O控制能力成为关键。在此背景下&#xff0c;BACnet/IP分布式远程I/O模块的出现&#xf…

使用Remix部署智能合约到币安链(Remix的操作介绍 币安链合约的部署) 点赞收藏哦

大家好&#xff0c;我是程序员大猩猩呀。 据我所知&#xff0c;很多人进入币圈之后&#xff0c;想要通过炒币一夜暴富&#xff01;另一部分人呢他们希望自己能创建一个项目&#xff0c;然后发行自己的数字货币然后暴富。 不管是什么方式吧&#xff0c;只要不违法&#xff0c;…

weditor安装的时候产生的问题

先放出来github的地址https://github.com/alibaba/web-editor&#xff0c;这个上面给了两种安装方式一种是&#xff1a; pip3 install -U weditor 这种方式会报错误&#xff0c; 具体原因我也不知道。那就采用第二种方式 git clone https://github.com/openatx/weditor pip3…

连锁收银系统的五大功能

连锁收银系统是零售行业中不可或缺的工具&#xff0c;它为连锁店铺提供了必要的管理和运营支持。一个完善的连锁收银系统应当具备以下五大功能&#xff0c;以满足不断发展的零售业务需求。 1. 进销存管理 进销存管理是连锁店铺运营的核心&#xff0c;也是连锁收银系统不可或缺…

docker runc升级1.1.12

上传runc-1.1.12制品至中控机 874e970eaa932a97de9888344ae08f24 runc.arm64 将所有节点的runc文件备份 所有节点(包括master+node) vim host [all] 10.1.0.183 ansible_password=Bigdata@Ksyun123 ansible_user=root ansible_port=22 10.1.0.249 ansible_password=Bigdata…