米哈游春招算法岗-2023.03.19-第一题-交换字符-简单题

news/2025/3/16 0:43:27/

交换字符

Problem Description

米小游拿到了一个仅由小写字母组成的字符串,她准备进行恰好一次操作:交换两个相邻字母,在操作结束后使得字符串的字典序尽可能大。
请你输出最终生成的字符串。

input

一个仅由小写字母组成的字符串,长度不小于 2 ,不超过200000 。

ouput

操作后的字符串。

Sample Input

ba

Sample Output

ab

题目类型、难度、来源

  • 类型:暴力
  • 难度:简单
  • 来源:米哈游春招算法岗-2023.03.19-第一题-交换字符

总体思路:

  • 此题很简单,输入一个字符串,必须要交换一次,使得字符串的字典序尽可能大。
  • ①首先从左到右遍历,如果遇到右边的字符比左边的字符大,马上交换,并break。
  • ②如果第一种情况不存在,说明不能通过交换使字符串字典序变大,此时就要注意避免交换导致字典序减小。就要看字符串中是否有相邻的两个字符相同大小。如果存在,那么可以使用一次交换使字典序不变。
  • ③如果上面两种情况都不存在,就要尽量让字典序减少得尽可能少。此时应该交换字符串最后的两个元素。

AC代码

#include <iostream>
#include <string>
using namespace std;
void swap(char &a, char &b){char t = a;a = b;b = t;
}
int main(){string s;cin >> s;int i, flag = 0;for (i = 0; i < s.size()-1; i++){if (s[i+1] > s[i]){swap(s[i], s[i+1]);break;}else if (s[i+1] == s[i]){flag = 1;}}if (i == s.size()-1){if (flag == 0){swap(s[s.size()-1], s[s.size()-2]);}}cout << s;return 0;
}

http://www.ppmy.cn/news/34331.html

相关文章

经典七大比较排序算法 ·上

经典七大比较排序算法 上1 选择排序1.1 算法思想1.2 代码实现1.3 选择排序特性2 冒泡排序2.1 算法思想2.2 代码实现2.3 冒泡排序特性3 堆排序3.1 堆排序特性&#xff1a;4 快速排序4.1 算法思想4.2 代码实现4.3 快速排序特性5 归并排序5.1 算法思想5.2 代码实现5.3 归并排序特性…

【目标检测 DETR】通俗理解 End-to-End Object Detection with Transformers,值得一品。

文章目录DETR1. 亮点工作1.1 E to E1.2 self-attention1.3 引入位置嵌入向量1.4 消除了候选框生成阶段2. Set Prediction2.1 N个对象2.2 Hungarian algorithm3. 实例剖析4. 代码4.1 配置文件4.1.1 数据集的类别数4.1.2 训练集和验证集的路径4.1.3 图片的大小4.1.4 训练时的批量…

iOS 紧急通知

一般通知 关于通知的各种配置和开发&#xff0c;可以参考推送通知教程&#xff1a;入门 – Kodeco&#xff0c;具有详细步骤。 紧急通知表现 紧急通知不受免打扰模式和静音模式约束。当紧急通知到达时&#xff0c;会有短暂提示音量和抖动&#xff08;约2s&#xff09;。未锁…

10个杀手级应用的Python自动化脚本

10个杀手级应用的Python自动化脚本 重复的任务总是耗费时间和枯燥的。想象一下&#xff0c;逐一裁剪100张照片&#xff0c;或者做诸如Fetching APIs、纠正拼写和语法等任务&#xff0c;所有这些都需要大量的时间。为什么不把它们自动化呢&#xff1f;在今天的文章中&#xff0c…

智能灯泡一Homekit智能家居系列

传统的灯泡是通过手动打开和关闭开关来工作。有时&#xff0c;它们可以通过声控、触控、红外等方式进行控制&#xff0c;或者带有调光开关&#xff0c;让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块&#xff0c;可与手机、家庭智能助手、或其他智能硬件进行通信&#…

面向对象设计

当我们谈论面向对象的时候到底在谈论什么&#xff1f; 提到面向对象&#xff0c;我相信很多人都不陌生&#xff0c;随口都可以说出面向对象的四大特性&#xff1a;封装、抽象、继承、多态。面向对象编程是在业务越做越大时&#xff0c;发现通过面向过程的方式造成系统难以维护衍…

Maven阿里云镜像地址

目录 一、阿里云镜像地址官网&#xff1a; 二、具体操作 三、学习maven的课程推荐 一、阿里云镜像地址官网&#xff1a; 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 Maven阿里云最新镜像地址&#xff1a;https://maven.aliyun.com/repository/public 二、具体操作 1、…

NPM 组件包 epic-geo-ip 等恶意获取主机敏感信息(MPS-2023-8302)

漏洞描述 当用户安装 1.0.1 版本的 epic-geo-ip、epic-dashboard-widgets、epic-community-api 等npm组件包时会向 lupin.monster 域名发送 get 请求&#xff0c;从而泄漏用户主机的 IP 地址。 漏洞名称GeoServer 存在 sql 注入漏洞漏洞类型内嵌恶意代码发现时间2023/3/17漏洞…