题目:DNA序列修正(蓝桥OJ 3904)

题目描述:

解题思路:

  1. 从左到右扫描第一条 DNA 序列和第二条 DNA 序列的每一个位置,检查它们是否互补。

  2. 如果某个位置不互补,我们需要寻找第二条 DNA 序列中后续位置的碱基,看是否可以通过交换使这两个位置都互补。如果可以,我们就进行交换。

  3. 如果在后续位置找不到可以交换的碱基,说明这个位置只能通过替换来满足要求。因为每个位置只能修改一次,所以我们不能把不配对的碱基交换到当前位置作为中转站,则只能进行修改。

  4. 每次交换或替换,操作计数器增加 1。

  5. 最后输出操作计数器的值。

题解 :

#include<bits/stdc++.h>
using namespace std;map<char, int> pp = {{'A', 0}, {'C', 1}, {'G',2}, {'T',3}};//pp['A'] = 0int main()
{int n; cin >> n;string a,b;cin >> a >> b;int cnt = 0;for(int i = 0; i < n; i++){if(pp[a[i]] + pp[b[i]] != 3)//不等于3不互补{for(int j = i+1; j < n; j++){if(pp[a[i]] + pp[b[j]] ==3 && pp[a[j]] + pp[b[i]] == 3)//是pp[a[i]]不是pp[i]{swap(b[j], b[i]);//交换b互补两个位置break;}}cnt++;}}cout << cnt;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/191900.shtml

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

相关文章

〖大前端 - 基础入门三大核心之JS篇㊹〗- DOM事件委托

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;不渴望力量的哈士奇(哈哥)&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

ssl下载根证书和中间证书

为了保证客户端和服务端通过HTTPS成功通信&#xff0c;您在安装SSL证书时&#xff0c;也需要安装根证书和中间证书。本文介绍如何获取根证书和中间证书。 使用说明 如果您的业务用户通过浏览器访问您的Web业务&#xff0c;则您无需关注根证书和中间证书&#xff0c;因为根证书…

ELK高级搜索,深度详解ElasticStack技术栈-下篇

前言&#xff1a;ELK高级搜索&#xff0c;深度详解ElasticStack技术栈-上篇 14. search搜索入门 14.1. 搜索语法入门 14.1.1 query string search 无条件搜索所有 GET /book/_search结果&#xff1a; {"took" : 969,"timed_out" : false,"_shar…

头歌JUnit单元测试相关实验进阶

JUnit是一个由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架&#xff08;regression testing framework&#xff09;&#xff0c;主要供 Java 开发人员编写单元测试。Junit在极限编程和重构中被极力推荐使用&#xff0c;因为它可以大大地提高开发的效率。 Junit的特性&…

Spring——全局异常处理(介绍@RestControllerAdvice和@ExceptionHandler)

目录 1.RestControllerAdviceExceptionHandler的作用2.实现原理3.各种特性 1.RestControllerAdviceExceptionHandler的作用 RestControllerAdvice注解 RestControllerAdvice是Spring框架提供的注解&#xff0c;用于全局异常处理。它将异常处理方法集中在一个类中&#xff0c;…

力扣66. 加一

文章目录 力扣66. 加一示例代码实现总结收获 力扣66. 加一 示例 代码实现 class Solution {public int[] plusOne(int[] digits) {int ndigits.length;for(int in-1;i>0;i--){if(digits[i]!9){digits[i];for(int ji1;j<n;j){digits[j]0;}return digits;}}int[] resnew i…

selenium环境安装

一、下载安装python 下载python安装python设置python环境变量安装selenium &#xff08;1&#xff09;下载python 您可以从Python官方网站&#xff08;https://www.python.org/downloads/&#xff09;下载Python。在页面上&#xff0c;您将看到不同版本的Python供您选择。根…

Qt中对Udp数据打包发送和接收(续)

这次用一个更加复杂的数据包举例。 心跳报文结构如下&#xff1a; struct HeartbeatPacket {quint16 protocolId;quint16 version;quint16 totalLength;quint16 reserve;QByteArray senderAddress;QByteArray receiverAddress;quint8 sequenceNumber;quint8 acknowledgementN…

MVCC-

文章目录 1. 什么是MVCC2. 快照读和当前读3. 复习4. MVCC实现原理之ReadView5. 总结 文章目录 1. 什么是MVCC2. 快照读和当前读3. 复习4. MVCC实现原理之ReadView5. 总结 1. 什么是MVCC 口述&#xff1a;MVCC其实他是解决这种读-写的情况的&#xff0c;当然读-写也可以用 锁来…

医保支付方式探索——利益共享机制的文章分析

Care-coordination: Gain-sharing Agreements in Bundled Payment Models 分析一下这篇文章&#xff0c;这篇文章于2021年发表在POMS上&#xff0c;但是引用量没有那么高。这篇文章涉及到医疗捆绑支付&#xff0c;应该可以学习一下。 文章研究一个在一个以最小成本为目标的质…

python+Appium自动化:python多线程多并发启动appium服务

Python启动Appium 服务 使用Dos命令或者bat批处理来手动启动appium服务&#xff0c;启动效率低下。如何将启动Appium服务也实现自动化呢&#xff1f; 这里需要使用subprocess模块&#xff0c;该模块可以创建新的进程&#xff0c;并且连接到进程的输入、输出、错误等管道信息&…

oj塞氪算法练习

向量点积计算 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int[] a new int[n];int[] b new int[n];for (int i 0; i < n; i) {a[i] scanner.nextInt();}…

汇编语言实现音乐播放器

目标程序 用汇编语言实现一个音乐播放器&#xff0c;并支持点歌 Overview 乐曲是按照一定的高低、长短和强弱关系组成的音调&#xff0c;在一首乐曲中&#xff0c;每个音符的音高和音长与频率和节拍有关&#xff0c;因此我们要分别为3首要演奏的乐曲定义一个频率表和一个节拍…

jenkins使用nexus插件

nexus介绍 Nexus 是一个强大的仓库管理工具&#xff0c;用于管理和分发 Maven、npm、Docker 等软件包。它提供了一个集中的存储库&#xff0c;用于存储和管理软件包&#xff0c;并提供了版本控制、访问控制、构建和部署等功能。 Nexus 可以帮助开发团队提高软件包管理的效率和…

解决element ui tree组件不产生横向滚动条

结果是这样的 需要在tree的外层&#xff0c;包一个父组件 <div class"tree"><el-tree :data"treeData" show-checkbox default-expand-all></el-tree></div> 在css里面这样写,样式穿透按自己使用的css编译器以及框架要求就好 &l…

使用waitress与nginx在腾讯云上进行flask项目部署

1.首先介绍一下waitress与nginx是啥&#xff0c; Waitress: 类别&#xff1a; Waitress 是一个用于 Python Web 应用程序的 WSGI&#xff08;Web Server Gateway Interface&#xff09;服务器。WSGI 是 Python Web 应用程序和 Web 服务器之间的标准接口&#xff0c;允许开发人员…

什么是Ros(一)- 名词解释和架构概述

目录 1.概述 2.名词解释 2.1节点&#xff08;Node&#xff09; 2.2节点管理器&#xff08;Master&#xff09; 2.3消息&#xff08;Message&#xff09; 2.4话题&#xff08;Topic&#xff09; 2.5服务&#xff08;Service&#xff09; 2.6动作&#xff08;Action&#…

基于Logistic回归实现二分类

目录 Logistic回归公式推导&#xff1a; Sigmoid函数&#xff1a; Logistic回归如何实现分类&#xff1a; 优化的方法&#xff1a; 代码&#xff1a; 1.创建一个随机数据集&#xff0c;分类直线为y2x&#xff1a; 为什么用np.hstack()增加一列1&#xff1f; 为什么返回…

Spring | Spring的基本应用

目录: 1.什么是Spring&#xff1f;2.Spring框架的优点3.Spring的体系结构 (重点★★★) :3.1 Core Container (核心容器) ★★★Beans模块 (★★★) : BeanFactoryCore核心模块 (★★★) : IOCContext上下文模块 (★★★) : ApplicationContextContext-support模块 (★★★)SpE…