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

蓝桥杯15届国赛 最小字符串

问题描述

给定一个长度为 N 且只包含小写字母的字符串 S,和 M 个小写字母 c1,c2,...,cM​。现在你要把 M 个小写字母全部插入到字符串 S 中,每个小写字母都可以插入到任意位置。请问能得到的字典序最小的字符串是什么?

输入格式

第一行包含两个整数 N 和 M。第二行包含一个长度为 N 的字符串 S。第三行包含 M 个小写字母 c1,c2,...,cM。

输出格式

输出一个长度为 N+M 的字符串代表答案。

样例输入 1

4 3
abbc
cba

样例输出 1

aabbbcc

样例输入 2

7 3
lanqiao
bei

样例输出 2

beilanqiao

评测用例规模与约定

对于 20% 的评测用例,M=1。

对于 100%的评测用例,1≤N,M≤10^{5}

比较简单,双指针+sort

#include<iostream>
#include<algorithm>
using namespace std;const int N = 1e5+10;
int n, m;
char c1[N], c2[N];int main()
{cin>>n>>m;cin>>c1>>c2;sort(c2, c2+m);//比较 c1[i] 和 c2[j],输出较小的字符,并移动相应的指针int i=0, j=0;while(i<n && j<m){if(c1[i] <= c2[j]){cout<<c1[i];i++; }else{cout<<c2[j];j++;}}//如果 c1 或 c2 有剩余未处理的字符,直接按顺序输出while(i<n){cout<<c1[i];i++;}while(j<m){cout<<c2[j];j++; } return 0;
}

相关文章:

  • 豆包多轮对话优化策略:上下文理解与记忆,意图识别,对话管理
  • Matlab实现CNN-BiLSTM时间序列预测未来
  • 开关电源原理
  • Leetcode:回文链表
  • 为什么round(5.445,2)是5.44,如何改成5.45?
  • Python内置函数
  • JavaScript 笔记 --- part8 --- JS进阶 (part3)
  • springboot应用大批量导出excel产生oom处理措施实践(适用于poieasyexcel)
  • 面向对象与过程介绍
  • 【FreeRTOS-时间管理】
  • **集合**实验**
  • 《Python星球日记》第29天:Flask进阶
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(八)
  • JobHistory Server的配置和启动
  • 字符串哈希专题
  • 36、C#中的⽅法声明参数关键字params,ref,out的意义及⽤法
  • Vue3响应式原理那些事
  • Python10天冲刺《Pydantic 是一个用于数据验证和设置管理的 Python 库》
  • 从入门到登峰-嵌入式Tracker定位算法全景之旅 Part 5 |地图匹配与轻量 SLAM:HMM/Viterbi 与简化图优化
  • 常用对称加密算法的Python实现及详解
  • 巴菲特批评贸易保护主义:贸易不该被当成武器来使用
  • 国羽3比0横扫日本晋级苏迪曼杯决赛,将战韩国与印尼胜者
  • 朝中社:美在朝鲜半岛增兵将进一步增加其本土安全不确定性
  • 纽约大都会博物馆展“萨金特与巴黎”:从艺术生到明星画家
  • 5月1日,多位省级党委书记调研旅游市场、假期安全等情况
  • 阿根廷发生5.8级地震