华为OD统一考试 -字符串变换最小字符串

题目描述

给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。

变换规则:交换字符串中任意两个不同位置的字符。

输入描述

一串小写字母组成的字符串s

输出描述

按照要求进行变换得到的最小字符串。

备注

  • s是都是小写字符组成
  • 1 ≤ s.length ≤ 1000

用例

输入

abcdef

输出

abcdef

说明

abcdef已经是最小字符串,不需要交换。

输入

bcdefa

输出

acdefb

说明

a和b进行位置交换,可以得到最小字符串

题目解析

我的思路如下,先将输入的字符串str进行字典排序,得到一个新串minStr,如果str和minStr相同,则说明str已经是最小字符串,不需要任何变换,直接返回str。

如果str和minStr不同,则说明str不是最小字符串,我们需要遍历出str的每一个字符,对比str[i] 和 minStr[i] ,具体处理逻辑如下图

import Foundation
func ODTest_58() {
    print("一串小写字母组成的字符串")
    var str = readLine(

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2024华为OD机试卷题 文章被收录于专栏

本专栏给大家提供了华为2024最新华为OD 题目汇总。华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。

全部评论
点赞 回复 分享
发布于 2024-09-21 10:16 四川

相关推荐

11-13 10:17
门头沟学院 Java
昨天面美团,jvm,juc问的好深啊,感觉小林coding不太够喔,牛油们有没有什么推荐的八股网站嘛🕒 岗位/面试时间👥 面试题目🤔 面试感受
明天不下雨了:小林Coding:https://xiaolincoding.com/ 全栈哥:https://www.pdai.tech/ Guide哥:https://javaguide.cn/ 秀哥:https://interviewguide.cn/ 沉默王二:https://javabetter.cn/home.html 磊哥:https://www.javacn.site/interview/basic/ 小傅哥:https://bugstack.cn/ 源码哥:https://doocs.github.io/source-code-hunter/#/ 各大厂的公众号技术文章和一些经典的书籍
面试太紧张了怎么办?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务