华为OD机试真题 JavaScript 实现【字符串变换最小字符串】【2022Q4 100分】

news/2024/10/31 7:34:40/

在这里插入图片描述

一、题目描述

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

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

二、输入描述

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

三、输出描述

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

四、解题思路

  1. 读取输入的字符串s;
  2. 检查字符串s是否为空或为空串,如果是则结束程序;
  3. 将字符串s转换为字符数组arr;
  4. 初始化变量min为0,表示当前最小字符的索引;
  5. 将字符数组arr的第一个字符的ASCII码值赋给变量v;
  6. 遍历字符数组arr,从索引0开始:
    • 将当前字符的ASCII码值赋给变量charValue。
    • 如果charValue小于等于v,更新v为charValue,并更新min为当前索引i;
  7. 如果min为0,表示第一个字符已经是最小的,无需变换,直接输出原始字符串s;
  8. 否则,交换字符数组arr中第一个字符和索引min处的字符;
  9. 将字符数组arr转换为字符串并输出。

该算法通过遍历字符串s的字符数组arr,找到当前最小的字符并记录其索引min。如果最小字符已经在字符串的最前面,即min为0,则无需变换,直接输出原始字符串。否则,将最小字符与第一个字符进行交换,得到变换后的最小字符串。该算法只进行一次变换,时间复杂度为O(n),其中n为字符串s的长度。

五、JavaScript算法源码

function calculate(str) {const arr = str.split("");let min = 0;let v = arr[0].charCodeAt(0);for (let i = 0; i < arr.length; i++) {const charValue = arr[i].charCodeAt(0);if (charValue <= v) {v = charValue;min = i;}}if (min === 0) {return str;} else {const temp = arr[0];arr[0] = arr[min];arr[min] = temp;return arr.join("")}
}

六、效果展示

在这里插入图片描述


🏆下一篇:华为OD机试真题 JavaScript 实现【相对开音节】【2022Q4 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JavaScript)真题(A卷+B卷)

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述


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

相关文章

在线式测斜仪的工作原理和技术参数

在线式测斜仪的工作原理和技术参数 一、产品概述 在线式测斜仪是⼀款新型的、智能的、适应多种⾏业应⽤的三轴智能测斜仪&#xff0c;主要⽤于在三维空间内进⾏多⽅位倾⻆测量和振动&#xff08;频率、振幅&#xff09;测量。将多个传感器串联安装到⼟体、岩⽯和挡⼟墙结构中…

加解密在开源SpringBoot/SpringCloud微服务框架的最佳实践

目录导读 加解密在开源SpringBoot/SpringCloud微服务框架的最佳实践1. 开源代码整体设计2. 微服务逻辑架构设计3. SpringBoot加解密综合应用3.1 SpringBoot配置国密/国际加密算法加密机3.2 加密机加密Jasypt秘钥3.3 Jasypt加密业务配置参数3.3.1 Jasypt加密数据库/redis连接密码…

CTFSHOW web160 文件上传

本题依旧是黑名单过滤&#xff0c;会检测上传的文件的内容是否包含敏感字符。经过测试就可以知道过滤了php、方括号、花括号、分号等。 解题的思路是嵌套的文件包含。首先上传图片马&#xff0c;图片马的内容是对日志文件进行包含操作。然后再上传.user.ini文件对图片马进行包…

不能说出的秘密精彩剧照组图

不能说出的秘密剧照组图 《不能说出的秘密》剧照 上一页 1 2 3 4 5 下一页 电影名称&#xff1a;不能说的秘密 出品地区&#xff1a;港台 电影类型&#xff1a;爱情 主要人员&#xff1a;周杰伦 桂纶镁 黄秋生 剧情&#xff1a;日本秋名山上的清晨&a…

解放军美女网络尖兵,90余昼夜写代码40多万行

2000年&#xff0c;李聪娜考入国防科技大学计算机专业&#xff0c;实现从军梦。毕业时&#xff0c;她放弃保研资格和到沿海科研单位工作的机会&#xff0c;主动申请到信息化人才缺乏的西北军营&#xff0c;从事网络安全工作。此后工作积极上进的她曾创造出连续奋战90多个昼夜&a…

特步官网、商城、APP都部署在阿里云上

特步&#xff0c;非一般的感觉&#xff0c;一段耳熟能详的广告语。每周五晚湖南卫视《天天向上》&#xff0c;特步那醒目的LOGO&#xff0c;直逼眼球&#xff0c;这可是特步斥巨资上亿元独家冠名的&#xff0c;今天为大家曝料不为人知的特步~~ 先看看特步的发展史&#xff1a;特…

揭秘:特步集团副总裁肖利华的亲笔签名感言

特步&#xff0c;非一般的感觉&#xff0c;一段耳熟能详的广告语。每周五晚湖南卫视《天天向上》&#xff0c;特步那醒目的LOGO&#xff0c;直逼眼球&#xff0c;这可是特步斥巨资上亿元独家冠名的&#xff0c;今天为大家曝料不为人知的特步~~ 先看看特步的发展史&#xff1a;特…

python实现明星专家系统

其实一直对电影里面的对进行人脸匹配然后&#xff0c;刷出来信息很感兴趣&#xff0c;今天晚上一时兴起&#xff0c;就搞了一把小的。 理论上&#xff1a;你可以建立一个你感兴趣的百万级的数据库&#xff0c;给你个照片 &#xff0c;你就可以得到她是谁&#xff0c;哪里的&…